首頁 > 運維 > linux運維 > 主體

sed 用法詳述

巴扎黑
發布: 2017-06-23 14:34:01
原創
1661 人瀏覽過

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學習者快速成長!