介绍
sed是一款优秀的文本处理程序,但是其不同版本在用法和参数上存在着较大差异,建议大家在使用时一定要查询相关文档,以免出错。
以下示例大部分都是针对BSD版本的sed,因为OSX系统自带的sed就是这个版本,我是在mac上完成的相关测试。
一般linux的发布版带的都是GNU版本的,个人感觉,GNU版本的更强大和方便。
sed和perl正则表达式一些元字符的比较
常用命令
如果希望直接在源文件中修改,传参数-i[.bak]
,在GNU sed中,.bak
可选,但是在BSD sed中,必须添加,可以传递空字符串来表示直接修改源文件,即使用-i ''
用于测试的pets.txt下载
除了在命令行中使用字符串输入,也可以使用处理脚本作为输入,脚本3_6下载
神奇用法
下面为应用以上原理的示例。这些示例都是针对BSD sed的。当替换文本中有单引号时,可以使用双引号圈引,减少转义。这是用于测试的my.txt下载
单行命令总结