sed 命令

Linux 常用的文本处理命令

grep,sed(流编辑器),awk(报告文本生成器)


sed 基本用法:

sed : Stream EDitor
行编辑器(逐行处理文本)
全屏编辑器:vi

sed: 模式空间
默认不编辑原文件,仅对模式空间的数据做处理,而后,处理结束后,将模式空间打印至屏幕

sed [option] 'AddressCommand' file ...
-n : 静默模式,不再显示模式空间的内容
-i : 直接修改原文件
-e script -e script: 可以同时执行多个脚本 script为脚本
-r :表示使用扩展正则表达式
Address:
1 StartLine,EndLine
1,100 从第一行到第一百行
$: 最后一行
2 /RdgExp/
/^root/
3 /pattern1/ , /pattern2/
第一次被pattern 匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行
4 LineNumber
指定的行
5 StartLine, +N
从startline开始,向后的N行;

Command:
d:删除匹配到的行 sad '1,2d' 删除1到2行;
p:显示符合条件的行;
a string : 在指定的行后面追加新行,内容为string
: 可以用于换行
i string : 在指定的行前面追加新行,内容为string
r File: 将指定的文件内容,添加至符合条件的行数
sed '2r /文件路径' /文件路径
w File : 将地址指定范围内的行另存至指定文件中
s /pattern/string/修饰符 : 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
pattern(模式) 可以使用正则表达式
加修饰符
g;全局替换
i: 忽略字符大小写
s///=s###=s@@@(替换符号的分隔符可以用其他字符,只要是三个一样的就可以)
&引用模式匹配到的所有字符串

原文地址:https://www.cnblogs.com/thelovelybugfly/p/10787834.html