sed 搜尋並刪除整行資料


在 Linux 下如果需要將檔案內指定某一行資料刪除,可以用 sed 指令達成,以下教學會介紹在 Linux 下用 sed 指令,刪除檔案內指定的整行資料。

刪除指定行數

當知道要刪除的資料在檔案那一行,或者在某一個行數範圍時,可以直接指定刪除的行數,例如:

刪除檔案 filename.txt 的第 10 行:

刪除檔案 filename.txt 的第 10 至 15 行:

將包含有 “delete_str” 字串的一整行資料刪除:

將包含有 “delete_str” 字串的一整行資料刪除:

從第 10 行開始,後面的資料全部刪除:

從包含字串 “delete_str” 的行開始,後面的資料全部刪除:

刪除檔案最後一行:

刪除檔案內的空白行:

p.s. sed 支援正規表示式,所有正規表示式放在 “[ ]” 內,另外,如果搜尋內容有特殊字元,例如 “/”, “\”, “[” 及 “]” 等,需要在前面加上 “\”, 例如 “\[” 表示 “[” 字元。

One Response

  1. Andy 17 June 2020

Leave a Reply