笨办法学 Python · 续 练习 9:`sed`
练习 9:sed
原文:Exercise 9: sed
译者:飞龙
协议:CC BY-NC-SA 4.0
自豪地采用谷歌翻译
使用这些小型项目来研究你自己是有用的,但让我们来看看你主要关注的主题:
- 开始工作的启动流程,例如你的文本编辑器,你可以打字打的多好,以及计算机内部发生的其他事情。
- 心理状态,当你开始工作时,建议将日志作为控制它的一种方式。
- 工作环境包括你的桌子,照明,椅子和你使用的电脑类型。
- 身体姿势和健康,以避免在工作时受伤。
在这个练习中,我们将采取这一改进计划,并进一步跟踪一些指标。你一直在使用小型命令行工具,阅读并确定其功能,然后花费45分钟来实现一个简单的黑魔法。现在你可以列举你的功能,确定优先级,然后确定在45分钟内可以完成的功能。事实上,你可以回溯目前为止所做的所有项目,以及你的更改笔记,并计算出这一指标,看看你是否在改进。
现在花点时间来回顾你的笔记,并大概估算每45分钟的完成的功能的百分比。在纸上绘制他们,然后看你的笔记,看是否有显著的变化,是好还是坏,当你改变你的工作方式的时候。然后在这个练习中,尝试根据你所做的改变,来预测你将做多少工作。你甚至可以尝试将一些障碍添加回你的流程,看看它如何影响你的生产力。
警告
请记住,这是个人指标,而不是与任何人分享的内容。这些几乎不科学,意味着你仅仅在分析你的工作方式中获得一些客观性。它们不是可以描述所有程序员的宏观指标,但是你最好相信,如果经理发现你有这些东西,他们会要求看到它们。然后,他们会要求你的团队中的每个人都开始做这些工作,然后管理层将会使用这些来引起大量的麻烦。将你的实验室笔记看做非常私人的记录,并且从不让任何人看到它。
挑战练习
这个练习将比其他练习更复杂,因为我们将要处理更多的正则表达式,并实现一个名为sed
的工具。通过接受利用正则表达式替换模式串,sed
工具能够让你改变文本,然后在接收到的每一行中,确定要替换什么。难点可能在于实现sed
的表达式格式,所以我建议你用两种方法来实现:
Lv1 具有命令行选项,用于最基本的sed
用法,将一个字符串替换为另一个字符串。
Lv2 在这些命令行选项中启用正则表达式。
Lv3 是实现sed
表达式格式。
使用sed
的一个例子是,在文本流中将一个单词更改为另一个单词。如果我想更改ls
的输出,以便使用“author”替换我的名字,我可以这样做:
ls -l | sed -e "s/zedshaw/author/g"
然而,sed
的实力在于使用正则表达式来匹配模式串并替换它们。如果你使用 vim 编辑器,那么你已经熟悉这种语法:
ls -l | sed -e"s / Jul [0-9] [0-9] / DATE / g"
你应该阅读man sed
页面,但你可能需要进行更多的研究来实现它。我建议你晚上做你的研究,然后根据这项研究,第二天进行45分钟的 Hack。这将有助于你均衡你的指标,专注于你的工作。
研究性学习
- 当你制订指标时,你是否发现了异常或令人惊讶的事情?
- 在开始本课程之前,你的工作预测是什么?
- 它如何匹配你实际所做的事情?
深入学习
在这个练习的视频(付费)中,我会向你展示一个叫做“运行图”的东西。运行图是你希望监视的一些活动的简单图表,向你显示如何随时间变化。人们使用运行图来发现行为的巨大变化,因为它们是既简单又有效的可视化工具。你将在书中使用运行图,因为它们非常简单但非常强大。
笨办法学 Python · 续 练习 9:`sed`相关推荐
- 笨办法学 Python · 续 中文版
笨办法学 Python · 续 中文版 原书:Learn More Python 3 The Hard Way 译者:飞龙 自豪地采用谷歌翻译 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓 ...
- 笨办法学 Python · 续 练习 33:解析器
练习 33:解析器 原文:Exercise 33: Parsers 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 想象一下,你将获得一个巨大的数字列表,你必须将其输入到电子表格 ...
- 笨办法学 Python · 续 练习 0:起步
练习 0:起步 原文:Exercise 0: The Setup 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你需要设置和配置一些工具来学习此书.有可能你已经有了很多这些东西 ...
- 笨办法学 Python · 续 第二部分:简单的黑魔法
第二部分:简单的黑魔法 原文:Part II: Quick Hacks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有最好的想法,你会打动世界!你会成为一个亿万富豪!你的大 ...
- 笨办法学 Python · 续 练习 52:`moreweb`
练习 52:moreweb 原文:Exercise 52: moreweb 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 现在,你已经使用 Python http.server ...
- 笨办法学 Python · 续 练习 24:URL 快速路由
练习 24:URL 快速路由 原文:Exercise 24: Fast URL Search 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们将结束数据结构和算法的部分,并将 ...
- 笨办法学 Python · 续 练习 49:`sed`
练习 49:sed 原文:Exercise 49: sed 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 当你学习如何制作快速而简陋的黑魔法时,你在练习 9 中实现了一个&qu ...
- 笨办法学 Python · 续 练习 50:`vi`
练习 50:vi 原文:Exercise 50: vi 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有一个模块,实现了ed和sed中使用的功能.显然,下一步是实现世界历史上 ...
- 笨办法学 Python · 续 练习 32:扫描器
练习 32:扫描器 原文:Exercise 32: Scanners 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我的第一本书在练习 48 中非常偶然涉及到了扫描器,但现在我 ...
最新文章
- 西班牙放大招,利用区块链技术防腐
- 解决Jetty Maven Plugin:Please initialize the log4j system properly(转)
- 计算机术语new一个,微机原理第一章计算机基础知识(new)
- oracle的all函数,oracle函数 MIN([distinct|all]x)
- sql语句中开窗函数的使用
- 新UI云开发壁纸小程序源码(新修复版带编译教程)
- thinkphp3.2+cropper上传多张图片剪切图片
- win10虚拟桌面使用方法-提高工作效率
- 算法总结之 在数组中找到一个局部最小的位置
- java foreach跳出本次循环_java控制流程最全示例
- 6 个主流 AI 聊天机器人平台
- MATLAB中isempty函数的用法
- php钱兆楼,PHP动态网站开发实例教程(第2版)
- 手机定位--GPS定位,基站定位,辅助定位
- Maxima绘图基础
- java date 构造方法_Java Date的概述和构造方法
- 电视电脑盒子,一机两用,电视秒变电脑
- 红光光浴,美容抗衰神器
- 实验六 可变分区存储管理实验
- Java开发 高可维护性代码规范
热门文章
- FPGA时序约束设计经验总结
- python模拟session_python使用requests.session模拟登录
- 计算机内存只认4,为什么电脑的8GB内存只有7.45GB可用?
- java 布局管理器_java布局管理器-borderlayout
- oracle 使用数据泵恢复,oracle 使用数据泵 导出整个db 并恢复
- 思科模拟器企业网站服务器配置,思科模拟器服务器配置
- 【LeetCode】剑指 Offer 31. 栈的压入、弹出序列
- Windows平台下搭建Git服务器
- c#发送邮件,可发送多个附件
- vue自定义插件-弹框