sed 用法 1,替換符號: 2,使用sed文件輸入命令: 3,列印: 4,替換第n次匹配: 註意:在每一行內第二次匹配到in,才會替換成AAAAA 5,替換第n行的第m次匹配: 註意:可以使用-n -p 組合 註意:可以使用$表示到結尾 6,將替換結果保存到文件中: 7,將替換結果備份,並且修改源 ...
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/bash
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
daemon: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/bash
bin:x:1:1:bAAAAA:/bin:/sbin/nologin
daemon: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/nologin
daemon: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 passwd
1 root:x:0:0:root:/root:/bin/bash
2 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/bash
operator: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