ITPub博客

首页 > IT基础架构 > 网络安全 > sed 的部分使用例子

sed 的部分使用例子

原创 网络安全 作者:renegade 时间:2006-10-27 14:43:30 0 删除 编辑

sed 的使用

sed 's/unix/linux/g'

du -a *.sh | sed 's/.*->//g' //去掉第一列及后面的 tab 空格

who am i | sed 's/->.*//' //去掉以 tab 开头的所有列

sed 's/^/->/' 把所有的行都向后移动 tab 空格

sed '/./s/^/->/' 把所有的非空行都向后移动 tab 空格

sed '/^$/!s/^/->/' 把所有的非空行都向后移动 tab 空格

sed 3q 相当于 head -3

sed -f sed文件名

sed '/模式/q' 打印输入直至并包含与模式相匹配的第一行

sed '/模式/d' 只打印不与模式相匹配的每一行,与模式相匹配的每一行都被删除了

sed -n 3q 不输出任何信息

sed -n 3p 输出第三行

sed -n 1,3p 输出一到三行

option -n 的作用是把所有的输出关闭,除非使用了 p 命令显示说明的行才出现在输出中

sed -n '/模式/p'

sed -n '/模式/!p' 将模式取反

相当于 grep -v 的操作,也相当于 sed '/模式/d' 的操作

sed -n '/los/=' 打印出符合模式的行号

$ more xxx | sed -n -e '/^$/p' -e '/^$/='

首先,输出空行,然后又把空行的行号进行了输出

使用 a ,功能是在符合模式的行后添加一行,这里必须要分为两行

$ more xxx | sed -n '/loop/a

loooooop'

执行才能成功,否则会有错

使用 i ,功能是在符合模式的行前添加一行,这里必须要分为两行

$ more xxx | sed -n '/loop/i

loooooop'

执行才能成功,否则会有错

使用 c ,功能是把符合模式的替换为 loooooop,这里必须要分为两行

$ more xxx | sed -n '/loop/c

loooooop'

执行才能成功,否则会有错

正常是:

-rwxr-xr-x 1 bcc dba 573 Mar 7 2006 loop.sh

$ sed -n 's/loop/&xxxx/p' xxx

-rwxr-xr-x 1 bcc dba 573 Mar 7 2006 loopxxxx.sh

$ sed -n 's/loop/xxxx&/p' xxx

-rwxr-xr-x 1 bcc dba 573 Mar 7 2006 xxxxloop.sh

也就是说,& 只在符合模式的行作用

[@more@]sed

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/143614/viewspace-874001/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    40
  • 访问量
    679039