Linux sed命令使用实例

 sed是Linux上重要的文本处理工具,可以对文件内容进行替换、删除、新增、选取特定行等功能。下面通过sed常用实例介绍sed命令的使用方法。

打印文件内容

(1)打印指定行

sed -n '1p' /etc/passwd #打印第1行
sed -n '10p' /etc/passwd #打印第10行
sed -n '$p' /etc/passwd #打印最后1行

(2)打印模式匹配行

sed -n '/root/p' /etc/passwd #打印包含root字符串的行
sed -n '/r.*p/p' /etc/passwd #打印匹配正则表达式r.*p的行

(3)打印指定范围内容

sed -n '1,3p' /etc/passwd #打印第1-3行内容
sed -n '3,/root/p' /etc/passwd  #打印第1行到最先匹配包含root字符串的行
sed -n '/root/,/oracle/p' /etc/passwd # 打印匹配root字符串到oracle字符串的行
sed -n '1,$p' /etc/passwd #打印全文内容

修改文件内容

插入

sed '3i new line' /etc/passwd #在第3行前插入内容为new line的行
sed '3a new line' /etc/passwd #在第3行后插入内容为new line的行
sed '3c new line' /etc/passwd #将第3行替换为内容为new line的行
sed '1,3c new line' /etc/passwd #将第1-3行替换为内容为new line的行

删除

sed '1d' /etc/passwd #删除第1行
sed '1,3d' #删除第1-3行
sed '$d' #删除最后1行
sed '/root/d' /etc/passwd #删除包含root的行
sed '3,/root/p' /etc/passwd  #删除第1行到最先匹配包含root字符串的行
sed '/root/,/oracle/d' /etc/passwd #删除匹配root字符串到oracle字符串的行

替换

sed 's/root/ROOT/g' /etc/passwd #全文小写root替换为大写root
sed '1,5s/root/ROOT/g' /etc/passwd #将第1-5行小写root为替换大写root
sed '/root/,/oracle/ s/root/ROOT/g' #将包含root字符串到oracle字符串行间的小写root替换为大写ROOT
sed 's/\$//g' /etc/passwd #将$字符删除
sed -n 's/root/hello &/p' /etc/passwd #替换root为hello root。&表示匹配前面模式匹配到的结果

打印行号

sed -n '/root/=' /etc/passwd #打印包含root字符串的行号

猜你喜欢

转载自www.cnblogs.com/linyfeng/p/8993525.html