主要观点:多年前作者为更新代码库中的不良模式,花费一小时用sed
和xargs
自动化修复,虽当时不懂shell工具,但学到很多,如sed
版本、正则表达式等,这节省了后续时间。几天前,作者用 Python 脚本拼接 15 个 Markdown 文档并学习了相关知识,认为自动化简单事能积累技能应对难事,反对以 XKCD 的“Is It Worth the Time?”为由不自动化,自动化能建立工程文化,应多花时间自动化,如重排函数参数等。
关键信息:代码库中不良模式位置少但手动修复需一分钟,作者用sed
和xargs
自动化;作者写 Python 脚本拼接 Markdown 文档并学习新知识;反对以 XKCD 观点不自动化,强调自动化能积累技能和建立文化;提供重排函数参数的ag -l doThing | xargs gsed -i -r 's|doThing\(([^,]+), ([^)]+)\)|doThing(\2, \1)|g'
命令及解释。
重要细节:Mac 上默认sed
较旧,-r
对正则表达式模式必要,需用捕获组等;在 Markdown 中可写 HTML 且转换时保留;pandoc
用于 Markdown 到 HTML 转换,killercup 的 CSS 可使转换后的 HTML 更美观,学会设置 Obsidian Vault 存储位置及制作漂亮换行的 CSS 等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。