常用Linux命令

147 阅读1分钟

sed

sed 命令是一个很强大的文本编辑器,可以对来自文件、以及标准输入的文本进行编辑。

执行时,sed 会从文件或者标准输入中读取一行,将其复制到缓冲区,对文本编辑完成之后,读取下一行直到所有的文本行都编辑完毕。

所以 sed 命令处理时只会改变缓冲区中文本的副本,如果想要直接编辑原文件,可以使用 - i 选项或者将结果重定向到新的文件中。

搜寻

sed -n '/^2020-02-23 10:04/,/^2020-02-23 10:08/ p' info.log

-n 仅显示 script 处理后的结果

p 打印

作用:从第一次以“2020-02-23 10:04”开头的行开始,到“2020-02-23 10:08”结束。打印中间所有行


修改

sed 可以直接修改文件的内容(-i属性),否则影响的只是副本

sed -i "1i\xxx" info.log

在info.log第一行前插入一行,字符串为xxx


替换

sed 's/Build//g'

加上/g,会替换每一行所有的Build为空

不加,每行只会替换一次