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 用法详述的详细内容。