sed命令   可以实现grep过滤功能,只是不能高亮显示。还可进行删除替换等操作。(注:-i修改原文档

1.过滤功能 -n...p

sed -n '10'p 2.txt           打印文本第10行,必须加-n  (p写在'内外皆可

sed -n '10,$'p 2.txt         打印文本10到尾行

sed -n '/root/'p 2.txt       打印包含root的行 关键字在//里面,可用正则表达式

sed -n '/r*o/'p 2.txt         正则表达式范例,打印o或者ro rro rrr..o的行

? + () {} 必须用转义符\ 或者sed -r 与grep -E类似,都支持特殊符号   (即扩展正则表达式)

2.删除功能  -d

sed '[0-9]'d 2.txt           删除包含数字的行,打印保留的行

sed '1,5'd 2.txt             删除1-5行,打印保留行

sed '1d;6d'd 2.txt           删除1行和6行,打印保留行

sed -i '5,$'d 2.txt           删除5-尾行,打印保留行(注:- i真实删除,修改原文档)

3.替换功能  s/old/new/

sed '1,10s/admin/wyp/g' 2.txt  1-10行中,wyp替换admin关键字 g整行全局替换

sed 's#/sbin/no#wyp#g' 2.txt   全文本wyp替换/sbin/no 因为有特殊符号/,用#*或者转义符\来代替

sed 's#^.*#wyp#g' 2.txt        所有行替换为wyp

sed 's#^.*#&llzd#g' 2.txt      所有行末尾加上llzd字符 (&为末尾追加)

sed 's#[^0-9a-zA-Z]##g' 2.txt  所有非英文数字替换为空,(即删除)只留下英文数字

sed -r 's#(^[a-z]+)(:.*:)(.*$)#\3\2\1#g' 2.txt  以:为分隔符,第一段和最后一段调换位置 

sed -n '/user;root/p' 2.txt    打印包含2个关键字的行,如一行包含2个关键字,则打印2次。

                               因为;代表执行了两次命令

sed -n '/user|root/p' 2.txt    打印包含2个关键字的行,因为一次执行,包含2个关键字,显示1次

sed -n -e'/user/p' -e '/root/p' 2.txt ==sed -n '/user;root/p' 2.txt  

这两条命令相等 -e参数功能为:多个表达式,写在一条命令中,分别执行。