Linux中sed命令的用法舉例

2021-09-12 07:56:07 字數 1786 閱讀 2305

參考資料

其基本語法如下:

$ sed

[option]

...

[input-file]

...

選項

說明-n, --quiet, --silent

靜默模式, 只輸出被 sed 處理過的行;

-e script, --expression=script

指定命令用於執行, 可以使用多個 -e 執行多個命令

-f script-file, --file=script-file

指定含有命令的指令碼用於執行

-r, --regexp-extended

讓指令碼支援拓展的正規表示式語法, 如 +, ?, |, () 等

-i --in-place

直接在指定的檔案裡修改編輯替換, 不在標準輸出中輸出任何內容

列印

$ #列印最後一行

$ sed -n '$p' geekfile.txt

$ #列印指定範圍行,如第1行到第3行

$ sed -n '1,3p' geekfile.txt

$ #列印從第2行開始到以test結尾的行之間的每一行

$ sed -n '2,/test$/p' geekfile.txt

替換
$ #替換行中第1次出現的pattern

$ sed

's/unix/linux/' geekfile.txt

$ #替換行中第n次出現的pattern

$ sed

's/unix/linux/2' geekfile.txt

$ #替換行中所有出現的pattern

$ sed

's/unix/linux/g' geekfile.txt

$ #替換行中第n次及之後出現的所有pattern,如第三次及之後

$ sed

's/unix/linux/3g' geekfile.txt

$ # 替換指定行,如第三行

$ sed

'3 s/unix/linux/' geekfile.txt

$ #替換指定範圍的行,如1到3行

$ sed

'1,3 s/unix/linux/' geekfile.txt

$ #替換指定範圍的行,如第2行到最後一行,$表示最後一行

$ sed

'2,$ s/unix/linux/' geekfile.txt

$ #只列印替換過的行

$ sed

's/unix/linux/p' geekfile.txt

刪除
$ #刪除第5行

$ sed

'5d' filename.txt

$ #刪除最後一行

$ sed

'$d' filename.txt

$ #刪除指定範圍的行, 如第3行到第6行

$ sed

'3,6d' filename.txt

$ #刪除指定範圍的行, 如第3行到最後一行

$ sed

'3,$d' filename.txt

$ #刪除pattern所匹配的行,如刪除含有abc的行

$ sed

'/abc/d' filename.txt

sed-command-in-linux-unix-with-examples

Linux中sed命令用法

定址 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定 sed命令 呼叫sed命令有兩種形式 sed options co...

linux中sed的用法

關於sed的用法,主要把握以下兩點 以行為單位進行處理 主要用於文字替換 如果主要考慮查詢,建議用grep,如果按列級處理,那要用awk,對於替換和刪除首先考慮sed,雖然在vim可以完成以下大部分功能,但是vim操作文字有個致命的缺陷 不能在shell中用vim命令操作文字 用於替換的兩種情況 1...

Linux下Sed命令的用法

1.sed簡介 2.定址 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定 3.sed命令 呼叫sed命令有兩種形式 se...