sed [-nefri] [[n1,[n2]] function] -n: 使用安静模式。只将经sed处理的内容显示在屏幕上 -e: 直接在命令行模式上进行sed的动作编辑 -f: 直接将sed的动作写在一个档案内,-f filename则可以执行filename内的sed动作 -r: 支持扩展正则表示式语法 -i: 直接修改文件,而不再屏幕显示修改结果 n1,n2: 在n1~n2行进行操作 function: a:新增,当前行后,新增一行,将a后面的字符串附加到该行 c: 替换,使用c后面的字符串替换n1~n2行 d: 删除,d后面一般不放任何对象 i: 插入,当前行前,新增一行,将i后面的字符串插入该行 p: 打印,打印选择的数据,常与“-n”一起使用 s: 替换,1,8s/old/new/g eg: # 删除第2~5行 nl /etc/passwd | head | sed '2,5d' # 第二行后增加一行 nl /etc/passwd | head | sed '2a xxxxxx' # 插入多行,csh下,yyyy每行后被追加 nl /etc/passwd | head | sed '2a xxxxxx \ > yyyyyy' # 整行替换3~6行 nl /etc/passwd | head | sed '3,6c replace line 3 to 6' # 只显示5~7行 nl /etc/passwd | head | sed -n '5,7p' # 获取网卡eth0的IP地址 ifconfig eth0 | grep 'inet addr' | sed 's/.*addr://' | sed 's/Bcast.*//' # 将行末"."修改为"!",直接修改文件内容,不在屏幕显示 sed -i 's/\.$/\!/g' myfile
sed小结
猜你喜欢
转载自elihe2011.iteye.com/blog/1901272
今日推荐
周排行