linux命令-sed
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令-sed相关的知识,希望对你有一定的参考价值。
sed :stream editor for filtering and transforming text 流编辑器文本转换工具
sed不适用-i的情况下,不对源文件做修改,只将处理结果打印至屏幕,使用-i时将直接修改源文件,属于危险做法,用于脚本中修改配置文件,初学者不建议。
sed使用方法:
sed范围修改打印:
直接打印文件第四行:sed -n‘4p’path_to_file
只删除第四行至下一行的数据(包括下一个空行),打印其他数据 :sed ‘4,/^$/d’ /path_to_file
不打印第四行至下一行的数据(包括下一个空行) :sed -n ‘4,/^$/!p‘ /path_to_file
只显示第四行到下一个空行的数据(包括下一个空行)不删除只打印这些 :sed ‘4,/^$/!d‘ /path_to_file
第一次被pattern匹配到的行开始,到第二次被pattern匹配到的行结束,中间的所有行 :/Pattern1/,/Pattern2/
sed参数:
-n :--quiet, --silent :静默模式 不再默认显示模式中的内容
-r :use extended regular expressions in the script.使用扩展正则表达式
sed替换:
sed -r ‘s/regexp/replacement/g‘ /path_to_file :sed -r ‘s/[[:space:]]+//g‘ file 去掉行首的空白字符
sed检索合并实例:cat /etc/inittab |sed -r ‘s/^#//g;s/^[[:space:]]+//g;/^$/d‘ :去掉文件inittab文件中的开头的#号,开头的空白字符以及空行
sed将范围内某个单词修改或去掉 :sed -i ‘2,3s/\<nameserver\> //g‘ /etc/resolv.conf :
将2至3行的nameserver去掉
sed加修饰符:g:全局替换
i:忽略字符大小写
sed后向应用:
sed ‘s#\(pattern\)#\1XX#g’ file
sed其他:a \string:在指定的行后面追加新行,内容为“string”
i \string :在指定的行前面添加新行,内容为“srting”
以上是关于linux命令-sed的主要内容,如果未能解决你的问题,请参考以下文章