sed基本用法

sed,以行为单位进行处理,可以直接将文件的内容进行增删改查等操作

格式:sed    [选项]    参数    文件

-r    支持正则表达式

-i    直接修改文件内容

-n    只打印匹配的行

a    在当前行下面插入内容

i    在当前行上面插入内容(直接修改,原文件也会修改)

c    把选定行改为新的文本(替换所在那行)

p    打印行(一般与-n一起使用,屏蔽默认输出,否则会出现两行内容)

s    替换指定字符


第一部分:

sed -n '3,6p' passwd    #打印3-6行

sed -i 'd' passwd      #删除所有内容行

sed -i '1,4d' passwd        #删除1-4行

sed -n '1p;4p' passwd    #打印第1和第4行

sed -n '3,+10p' passwd    #打印第3行以及后面10行

sed -n '1~2p' passwd    #打印奇数行

sed -n '2~2p' passwd    #打印偶数行

sed -n '/root/p' passwd    #打印包含root的行

sed -n '/bash$/p' passwd    #打印bash结尾的行

sed -n '/^root/p'  passwd     #输出以root开头的行

sed -n '$=' passwd        #输出文件总行数

sed -n '2,6d' passwd    #删除2-6行

sed '/xml/d' passwd    #删除所有包含xml的行

sed '/xml/!d' passwd    #删除所有不包含xml的行,!取反

sed '$d'  passwd    #删除最后一行

sed '/^install/d'  passwd    #删除install开头的行

sed '/^$/d'  passwd    #删除所以空行

第二部分:

sed 's/ww/web/' test.txt    #每行中第一个ww改成web

sed 's/ww/web/g' test.txt    #将所有的ww改成web

sed 's/ww/web/3' test.txt     #每行中第三个ww改成web

sed 's/xml//g' test.txt    #将所有的xml都删除(换成空)

sed 's#/bin/bash#/sbin/sh#g' passwd    #包含/的替换,可以把格式换成#

sed '1,7s/^/#/'  passwd  #第1~7行注释掉

sed 's/^#//g'    passwd    #将所有注释去掉

你可能感兴趣的:(sed基本用法)