首页 > 运维 > linux运维 > 正文

sed 用法详述

巴扎黑
发布: 2017-06-23 14:34:01
原创
1734 人浏览过

sed 用法

1,替换符号:

sed -e 's#/#-#g' -e's#:#-#g' passwd
登录后复制

2,使用sed文件输入命令:

vim 123.sed
s#:#/#g
s#/#-#g
登录后复制
sed -f 123.sed passwd
登录后复制

3,打印:

sed -n 2p passwd
登录后复制

4,替换第n次匹配:

sed 's/in/AAAAA/2' passwd
登录后复制
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bAAAAA:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbAAAAA/nologin
登录后复制

注意:在每一行内第二次匹配到in,才会替换成AAAAA

5,替换第n行的第m次匹配:

sed '2s/in/AAAAA/2' passwd
登录后复制
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bAAAAA:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin
登录后复制

注意:可以使用-n -p 组合

sed -n '2s/in/AAAAA/2p' passwd 
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
登录后复制
sed -n '2,3s/in/AAAAA/2p' passwd
登录后复制
bin:x:1:1:bAAAAA:/bAAAAA:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbAAAAA/nologin
登录后复制
sed -n '2,$s/in/AAAAA/2p' passwd
登录后复制

注意:可以使用$表示到结尾

6,将替换结果保存到文件中:

sed -n '2s/in/AAAAA/2pw passwd.sed' passwd 
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
登录后复制
cat passwd.sed 
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
登录后复制

7,将替换结果备份,并且修改源文件:

sed -i.bak '2s/in/AAAAA/2' passwd
登录后复制
cat -n  passwd1	root:x:0:0:root:/root:/bin/bash2	bin:x:1:1:bAAAAA:/bin:/sbin/nologin
登录后复制
ls passwd*passwd  passwd.bak
登录后复制

8,条件过滤修改:

sed -n '/root/s/bin/AAAAA/p' passwd
登录后复制
root:x:0:0:root:/root:/AAAAA/bashoperator:x:11:0:operator:/root:/sAAAAA/nologin
登录后复制

9,sed多命令执行:

sed  '1{s/root/ROOT/s/bin/BIN/
}' passwd
登录后复制
ROOT:x:0:0:root:/root:/BIN/bash
登录后复制
登录后复制
sed -n -e '1s/root/ROOT/' -e '1s/bin/BIN/' -e 1p passwd
登录后复制
ROOT:x:0:0:root:/root:/BIN/bash
登录后复制
登录后复制

以上是sed 用法详述的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!