sed流编辑器
sed默认不编辑源文件,仅对模式空间中的数据做处理;而后,处理结束后,将模式空间中的内容打印至屏幕。
sed [options] 'AddressCommand' file... 用行,和命令一起来操作文本
options:
-n:静默显示,不再显示模式空间中的内容
-i:直接修改原文件
-e 脚本 -e脚本:可以同时执行多个脚本
-f 脚本文件:以指定的脚本文件处理输入的文本文件
-r:使用扩展正则表达式
Address:
1.开始行,结束行:1,100代表从第一行到第100行。$代表最后一行
2./正则表达式/:可以使用正则表达式,/^root/代表root开头的行
3./模式1/,/模式2/:代表从被模式1匹配的行开始到被模式2匹配的行结束,这中间所有的行
4.行号:指定行号
5.开始行号,+N:代表从行号的行开始,和其向后N行,共N+1行
Command:
d:删除符合条件的行
p:显示符合条件的行
a \"string":在指定的行后面追加新行,内容为string。同样可以在之间使用\n之类的命令
i \"string":在制定的行前面追加新行.....
r 文件路径:将指定的文件内容添加至符合条件的行处
w 文件路径:将指定范围内的内容的行另存至指定的文件中
s/查找模式/字符串 /修饰符:查找并替换,查找时可以使用正则表达式,默认替换每行中第一次被匹配到的字符串。当修饰符为g时,全局替换;当修饰符为i时,忽略大小写。在字符串中,可以使用&,代表引用查找模式中匹配到的内容。同样可以使用后项引用
初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!