Linux——sed工具

来源:互联网 发布:linux 安装sip 编辑:程序博客网 时间:2024/04/29 07:32

sed 本身是一个管道命令,可以分析standard input,而且sed还可以将数据进行替换删除、新增、选取特定行等功能。

sed [-nefr]  动作

-n : 使用安静模式

-e : 直接在命令行模式上进行sed动作

-f : 写到一个文件中

-i :修改


除了-i时修改文件的内容之外,其他的都只是控制输出显示而已

动作说明 n1,n2 行数,可有可无

a: 新增到此行下

c:替换

d:替换

i:插入此行上

p:打印

s:替换   ‘s/old/new/g’

下面时一些练习:

(1)将/etc/passwd的内容列出并打印行号,同时删除2-5行

          nl /etc/passwd | sed '2,5d'

(2)在第二行的下一行加上‘’drink tea‘’

          nl /tec/passwd | sed '2a drink tea'

(3)在第二行的上一行加上‘’ drink tea‘’

          nl /tec/passwd | sed '2i drink tea'

         如果要添加多行的话需要用\进行转移回车符

(4)将2-5行的内容改为No 2-5 number

         nl /etc/passwd | sed '2,5c No 2-5 number'

(5)输出第5-7行

         nl /tec/passwd | sed -n '5,7p'

(6)去掉以#开头的注释和空行

         cat /etc/man.config | grep 'MAN' | sed 's/#.*$//g' | sed '/^$/d'

(7)利用sed将regular_express.txt 的每一行的结尾.改为!

          sed -i 's/\.$/\!/g'  regular_express.txt

(8)利用sed 直接在regular_express.txt的最后一行添加"#This is a test"

         sed -i '$a #This is a test'

原创粉丝点击