练习 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`相关推荐

  1. 笨办法学 Python · 续 中文版

    笨办法学 Python · 续 中文版 原书:Learn More Python 3 The Hard Way 译者:飞龙 自豪地采用谷歌翻译 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓 ...

  2. 笨办法学 Python · 续 练习 33:解析器

    练习 33:解析器 原文:Exercise 33: Parsers 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 想象一下,你将获得一个巨大的数字列表,你必须将其输入到电子表格 ...

  3. 笨办法学 Python · 续 练习 0:起步

    练习 0:起步 原文:Exercise 0: The Setup 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你需要设置和配置一些工具来学习此书.有可能你已经有了很多这些东西 ...

  4. 笨办法学 Python · 续 第二部分:简单的黑魔法

    第二部分:简单的黑魔法 原文:Part II: Quick Hacks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有最好的想法,你会打动世界!你会成为一个亿万富豪!你的大 ...

  5. 笨办法学 Python · 续 练习 52:`moreweb`

    练习 52:moreweb 原文:Exercise 52: moreweb 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 现在,你已经使用 Python http.server ...

  6. 笨办法学 Python · 续 练习 24:URL 快速路由

    练习 24:URL 快速路由 原文:Exercise 24: Fast URL Search 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们将结束数据结构和算法的部分,并将 ...

  7. 笨办法学 Python · 续 练习 49:`sed`

    练习 49:sed 原文:Exercise 49: sed 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 当你学习如何制作快速而简陋的黑魔法时,你在练习 9 中实现了一个&qu ...

  8. 笨办法学 Python · 续 练习 50:`vi`

    练习 50:vi 原文:Exercise 50: vi 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有一个模块,实现了ed和sed中使用的功能.显然,下一步是实现世界历史上 ...

  9. 笨办法学 Python · 续 练习 32:扫描器

    练习 32:扫描器 原文:Exercise 32: Scanners 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我的第一本书在练习 48 中非常偶然涉及到了扫描器,但现在我 ...

最新文章

  1. 西班牙放大招,利用区块链技术防腐
  2. 解决Jetty Maven Plugin:Please initialize the log4j system properly(转)
  3. 计算机术语new一个,微机原理第一章计算机基础知识(new)
  4. oracle的all函数,oracle函数 MIN([distinct|all]x)
  5. sql语句中开窗函数的使用
  6. 新UI云开发壁纸小程序源码(新修复版带编译教程)
  7. thinkphp3.2+cropper上传多张图片剪切图片
  8. win10虚拟桌面使用方法-提高工作效率
  9. 算法总结之 在数组中找到一个局部最小的位置
  10. java foreach跳出本次循环_java控制流程最全示例
  11. 6 个主流 AI 聊天机器人平台
  12. MATLAB中isempty函数的用法
  13. php钱兆楼,PHP动态网站开发实例教程(第2版)
  14. 手机定位--GPS定位,基站定位,辅助定位
  15. Maxima绘图基础
  16. java date 构造方法_Java Date的概述和构造方法
  17. 电视电脑盒子,一机两用,电视秒变电脑
  18. 红光光浴,美容抗衰神器
  19. 实验六 可变分区存储管理实验
  20. Java开发 高可维护性代码规范

热门文章

  1. FPGA时序约束设计经验总结
  2. python模拟session_python使用requests.session模拟登录
  3. 计算机内存只认4,为什么电脑的8GB内存只有7.45GB可用?
  4. java 布局管理器_java布局管理器-borderlayout
  5. oracle 使用数据泵恢复,oracle 使用数据泵 导出整个db 并恢复
  6. 思科模拟器企业网站服务器配置,思科模拟器服务器配置
  7. 【LeetCode】剑指 Offer 31. 栈的压入、弹出序列
  8. Windows平台下搭建Git服务器
  9. c#发送邮件,可发送多个附件
  10. vue自定义插件-弹框