sed命令常见用法
sed 命令
(一)定位文本
(1) -n
不打打印所有行,只打印匹配的部分
(2) -e
使用一个sed命令多个参数时使用
例如:sed -n -e '/test/p' -e '/test/=' 文件名,即打印test所在文本中的行的内容以及行号
(3) -f
表示正在调用sed脚本文件,文件的第一行写成
#!/bin/sed -f
(4) x
指定行号,例如:sed -n '1p' 文件名,即打印该文件第一行的内容
(5)x,y
指定行号范围,例如:sed -n '1,5p' 文件名,即打印文件第一行到第五行的内容
(6)/pattern/
查询包含模式的行(注意,此匹配内容不能单独使用,需要配合其他参数,例如/test/p,即匹配test内容的行的内容)
(7)/pattern/,x
匹配pattern的行到行号为X号的内容
(8)x,/pattern/
匹配x行号到pattern所在行的内容
(9)!x,y
不在x,y之间的内容
(二)操作文本
(1)p 打印匹配行
(2)= 打印匹配的行号
(3)a\ 在定位行号之后追加文本信息
(4)i\ 在定位行号之前追加文本信息
(5)d 删除定位行
(6)c\ 用新文本替换定位文本
(7)s 切换到替换模式
s/替换的字符串/新的字符串/[替换选项]
替换选项 g 替换文本中所有需要替换的字符(改变原文本)
p 与-n相结合,只打印替换的行(不改变原文本)
w 表示将输出定向到一个文件(sed 's/替换的字符串/新的字符串/w 重定向文件名’ 操作的文件名)
(8)w 写入一个新文件
例子:sed -n '1,5 w 新文件名' 文件名(将1到5行存入到新的文件)
(9)r 读入新的文本
(10)q 匹配后退出(先匹配出第一行,然后退出)
(11)y 字符变换
例子,将test文件中的12345,分别变换成abcde
sed 'y/12345/abcde/' test
(12)l 显示控制字符,例如回车,shift等等
(13){} 命令组,类似于-e
sed -n '/rrr/{p;=}' 1.doc
(14) n 读取下一个输入行
(15)h 写入缓存区
(16) x 缓存区互换
(17)G 追加缓存区内容