stream editor,流式編輯器
-非互動,基於模式匹配過濾及修改文字
-逐行處理,並將結果輸出到螢幕
-可實現對檔案的輸出,輸出,刪除,替換,複雜,剪下,匯入,匯出等各種操作
主要用法
常見命令選項
-n:遮蔽預設輸出(全部文字)
-i:直接修改檔案內容
-r:啟用擴充套件的正則表達方,若與其他選項一起使用,應作為首個選項
條件,可以是行號或/正則/
-行號可以使用當個數字表示單行
-或者3,5表示連續的多行
-省掉條件,預設逐行處理全部文字
-匹配正則時,需要使用//
[root@server0 ~]# sed -n '2,4p' /etc/passwd 輸出第2-4行
[root@server0 ~]# sed -n 'p' /etc/passwd 輸出全部
[root@server0 ~]# sed -n '/root/p' /etc/passwd 輸出包含root的行
基本動作指令
替換操作的分隔『』/『』可改用其他字元,如#,&等,便於修改檔案路徑。
小試牛刀:
1.列印zhy.txt的所有行
[root@server0 ~]# sed -n 'p' zhy.txt
2.列印zhy.txt的第2行
[root@server0 ~]# sed -n '2p' zhy.txt
3.列印zhy.txt的以zhu開頭的行
[root@server0 ~]# sed -n '/^zhu/p' zhy.txt
4.列印zhy.txt的1~2行
[root@server0 ~]# sed -n '1,2p' zhy.txt
5.列印zhy.txt的總行數
[root@server0 ~]# sed -n '$=' zhy.txt
6.列印zhy.txt的第1行以後面的2行
[root@server0 ~]# sed -n '1,+2p' zhy.txt
1.刪除zhy.txt的1到2行
[root@server0 ~]# sed '1,2d' zhy.txt
2.刪除zhy.txt的包含hope的行
[root@server0 ~]# sed '/hope/d' zhy.txt
3.刪除zhy.txt的以zhu開頭的行
[root@server0 ~]# sed '/^zhu/d' zhy.txt
4.刪除zhy.txt的以here結尾的行
[root@server0 ~]# sed '/here$/d' zhy.txt
5.刪除zhy.txt的空行
[root@server0 ~]# sed '/^$/d' zhy.txt
替換文字
1.在zhy.txt把zhy替換aaa
[root@server0 ~]# sed -n 's/zhu/aaa/p' zhy.txt
2.在zhy.txt把每行中第2個h替換g
[root@server0 ~]# sed 's/h/g/2' zhy.txt
3.在zhy.txt把所有的h都替換ddd
[root@server0 ~]# sed 's/h/ddd/g' zhy.txt
4.在zhy.txt把所有的h都刪掉
[root@server0 ~]# sed 's/h//g' zhy.txt
5.在zhy.txt把1到3行首行加上#
[root@server0 ~]# sed '1,3s/^/#/' zhy.txt
6.在zhy.txt把1到3行首行刪掉#
[root@server0 ~]# sed '1,3s/^#//' zhy.txt
sed工具簡介
基本上來說,sed是乙個可以分析standard input stdin 的資料,然後將資料經過處理後,再將它輸出到standard output stdout 的工具。比如取代,刪除,新增,選取特定行等等功能。語法基本上就是 sed nefr some actions here actions有a...
sed命令詳解
sed 是乙個精簡的 非互動式的編輯器。它能執行與編輯vi和emacs相同的編輯任務。sed編輯器不提供互動使用方式 只能在命令列輸入編輯命令 指定檔案 名,然後在螢幕上察看輸出。sed編輯器沒有破壞性。它不會修改檔案,除非用shell重定向來儲存輸出結果。預設情況下,所以的輸出都被列印到螢幕上。1...
SED 使用詳解
是乙個非互動性文字流編輯器。它編輯檔案或標準輸入匯出的文字拷貝。2.通過行號或正規表示式指定要改變的文字行 3.sed 不與初始檔案打交道,而只與它的乙個拷貝打交道,如果操作結果沒有重定向到乙個檔案,那麼將輸出到螢幕。呼叫方式 a.命令列方式 b.將sed命令插入指令碼檔案中,然後呼叫sed c.將...