sed命令使用

2021-09-18 04:54:33 字數 1833 閱讀 7975

sed命令使用

常用選項:

-n 使用安靜模式,在一般情況所有的 stdin 都會輸出到螢幕上,加入-n 後只列印被 sed 特殊處理的行

-e 多重編輯,且命令順序會影響結果

-f 指定乙個 sed 指令碼檔案到命令列執行,

-r sed 使用擴充套件正則

-i 直接修改文件讀取的內容,不在螢幕上輸出

sed操作命令

sed 操作命令告訴 sed 如何處理由位址指定的各輸入行。如果沒有指定位址,sed 就會處理輸入的所有的行

x:指定行號。

x,y:指定從x到y的行號範圍

/ pattern/:查詢包含模式的行 # # % %

/ pattern/ pattern/:查詢包含兩個模式的行

/ pattern/,x:從與 pattern的匹配行到x號行之間的行

x,/ pattern/:從x號行到與 pattern的匹配行之間的行

x,y!:查詢不包括x和y行號的行

r:從另乙個檔案中讀檔案

w:將文字寫入到乙個檔案

y:變換字元

q:第乙個模式匹配完成後退出

l:顯示與八進位制ascⅱ碼等價的控制字元

{}:在定位行執行的命令組

p:列印匹配行

=:列印檔案行號。

a:在定位行號之後追加文字資訊

i:在定位行號之前插入文字資訊。

d:刪除定位行

c:用新文字替換定位文字

s:使用替換模式替換相應模式

n:讀取下乙個輸入行,用下乙個命令處理新的行

n:將當前讀入行的下一行讀取到當前的模式空間。

h:將模式緩衝區的文字複製到保持緩衝區

h:將模式緩衝區的文字追加到保持緩衝區

x:互換模式緩衝區和保持緩衝區的內容

g:將保持緩衝區的內容複製到模式緩衝區

g:將保持緩衝區的內容追加到模式緩衝區。

刪除1.將/etc/passwd 的內容列出並列印行號,同時,將2-5行刪除顯示

nl /etc/passwd | sed 『2,5d』

注: sed是sed -e的簡寫, 後接單引號

2.同上刪除第2行 nl /etc/passwd | sed 『2d』

3.同上刪除第三行到最後一行 nl /etc/passwd | sed 『3,katex parse error: expected group after '^' at position 20: … 4.刪除批註行 sed '/^̲#.*/d' /etc/ini…/d』

插入4.在第二行後加上一行test nl /etc/passwd | sed 『2a test』

5. 在第二行前加上一行test nl /etc/passwd | sed 『2i test』

6. 在第二行後加入三行test nl /etc/passwd|sed 『2a ttttttt\ndddd\nhhh』

替換6.將2-5行內容取代為 no 2-5 number nl /etc/passwd | sed 『2,5c no 2-5 number』

7.把9.txt 檔案中 old 替換為new

sed 『s/old/new/g』 9.txt # s///g 內容替換g全域性替換

8.在一行的內容前邊新增內容

sed 『/good/ s/^/&word/g』 9.txt #<== /good/會匹配特定的內 容,然後對匹配到的行進行s/katex parse error: expected 'eof', got '&' at position 2: /&̲word/g 替換操作 ,&的…/&word/g』 9.txt #<== /good/會匹配特定的內 容,然後對匹配到的行進行s/$/&word/g 替換操作 ,&的意思追加

sed命令使用

常用選項 n 使用安靜模式,在一般情況所有的 stdin 都會輸出到螢幕上,加入 n 後只列印被 sed 特殊處理的行 e 多重編輯,且命令順序會影響結果 f 指定乙個 sed 指令碼檔案到命令列執行,r sed 使用擴充套件正則 i 直接修改文件讀取的內容,不在螢幕上輸出 sed操作命令 sed ...

sed命令使用總結

sed命令在處理文字內容的時候,作用非常強大,例如 刪除某行,替換,在某一行的後面增加一行等等功能。假設此時有個文件 test.txt 內容如下 a.a.a.a 10 b.b.b.b 40 c.c.c.c 100 現在我要刪除b.b這一行,命令如下 sed i b.b.b.b 40 d test.t...

sed 命令使用(1)

sed 簡單說明 sed是流編輯器。流編輯器用於執行基本文字對輸入流 檔案或管道的輸入 的轉換。雖然在某些方面類似於允許指令碼編輯的編輯器。例項1 用sed取出指定行 root localhost scripts cat color.sh 原始檔 bin sh red color e 1 31m g...