Linux sed命令是利用script来处理文本文件
sed可依照script的指令,来处理、编辑文本文件
sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等
语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
-e<script>或--expression=<script>以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file=<script文件>以选项中指定的script文件来处理输入的文本文件。
-h或--help显示帮助。
-n或--quiet或--silent仅显示script处理后的结果。
-V或--version显示版本信息。
动作说明:
a:新增, a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
c:取代, c的后面可以接字串,这些字串可以取代n1,n2之间的行
d:删除,因为是删除啊,所以d后面通常不接任何东西
i:插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p:列印,亦即将某个选择的数据印出,通常p会与参数sed -n 一起运行
s:取代,可以直接进行取代的工作,通常这个s的动作可以搭配正规表示法
地址定界:
1)不给地址:对全文进行处理
2)单地址:
#:指定的行,$:最后一行
/pattern/:被此处模式所能够匹配到的每一行
3)地址范围:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
4)~:步进
1~2奇数行
2~2偶数行
sed示例:
sed -n '2,/root/p' /etc/passwd 从2行开始
sed -n '/^$/=' file 显示空行行号
sed '/root/a\superman' /etc/passwd 行后
sed '/root/i\superman' /etc/passwd 行前
sed '/root/c\superman' /etc/passwd 代替行
原文地址:http://blog.51cto.com/13477944/2054626