标签:行编辑器sed
sed的工作模式:逐行复制文件到sed编辑器的pattern space(模式空间)进行匹配,不能匹配的行文件默认显示到标准输出,我们也可也加(-n)禁止输出;能匹配到的行文件编辑后显示到标准输出,或者输出到sed编辑器的hold space(保持空间)中 ,通过模式空间与保持空间的互调能将匹配到的文件用更高级的方式显示到标准输出。
sed [OPTION]... ‘script‘ [input-file] ...
sed不管文件能不能被匹配到,都会显示到标准输出。所以在使用参数p是需要加-n选项
删除匹配到的文件的最后一行 ~]# sed ‘$d‘ yum.conf
删除匹配到的文件的1到10行 ~]# sed ‘1,10d‘ yum.conf
删除匹配到的文件的偶数行 ~]# sed ‘1~2d‘ yum.conf
删除匹配到的文件的奇数行~]# sed ‘2~2d‘ yum.conf
插入和追加:
在匹配到的文件的行后面追加指定的文本 ~]# sed ‘2~2a\GOOD‘ yum.conf
在匹配到的文件的行前面插入指定的文本 ~]# sed ‘2~2i\GOOD‘ yum.conf
将匹配到的文件的行替换成指定的文本 ~]# sed ‘2~2c\GOOD‘ yum.conf
显示匹配到的每行的行号 ~]# sed ‘2~2=‘ yum.conf
写入文件并保存到指定的文件中
将文件最后一行保存到y.conf中 ~]# sed ‘$w /y.conf‘ yum.conf
将文件y.conf的内容写入到yum.conf文件中的第一行 ~]# sed ‘1r /y.conf‘ yum.conf
最后sed还支持扩展正则表达式,如:将yum.conf文件中以#号开头的行及#号后所有空白字符替换成~
~]# sed ‘s@^#[[:space:]]*@~@‘ yum.conf
标签:行编辑器sed
原文地址:http://10996738.blog.51cto.com/10986738/1728827