[精讚] [會員登入]

[LINUX] 只保留文件的前面或後面n行

Linux下讓程式刪除指定行,使用 sed。

分享完整連結 //n.sfs.tw/m10551

分享連結 [LINUX] 只保留文件的前面或後面n行@精讚
(文章歡迎轉載,請尊重版權註明連結來源)
2019-01-21 17:35:15 By 張○○

我想讓程式自動刪除文件多餘的行,例如只想保留n行,後面的不要或前面不要或是只要中段。

例如讀取前面100行

$ head -n 100 filename

或後面 100行

$ tail -n 100 filename

舉例,我想做的是只留前200行。

$ head -n 200 filename > filename
或是
$ sed -n '0,200p' filename > filename

自己開檔導給自己可不可以?

我發現這是不可以的,會讓檔案內容被清空

想一想為什麼?因為開檔後循序寫入在添加時就會新清空,所以後面就讀不到,全空。

後來發現可以這樣下指令

# sed -i '100d,$d' filename

-i 編輯自己

100d 表示從第100行開始刪
  , 到~
$d 結束,'d'代表刪除

換句話說上面會保留1-99行。

相關連結

https://unix.stackexchange.com/questions/209068/how-do-i-delete-the-first-n-lines-and-last-line-of-a-file-using-shell-commands/209090

END
你可能有興趣

check-host 從世界各地檢查你的網站能不能連線?

檢測你的網站能不能暢通?這個網站可讓你知道你的網站是不是「網際網路」還是「區域網路」?

[Smarty4] 出現 modifiers 函式不能用的問題

當我把smarty由3版更新到4.5.1版的時候,出現了Using unregistered function xx in a template這樣的錯誤,該如何解決?

[Docker] docker中要怎麼修改影像的名稱,rename image

透過 build來的image如果沒有指定名稱,事後要怎麼修改影像的名稱?

[Rocky9] 安裝node.js 18, node.js 20

原本的nodejs16在使用 quasar dev時出現錯誤,得升級成18版以上

[SSL] Could not read certificate from server.cer 的錯誤排除

在轉換ssl憑證時,出現無法讀取的錯誤,可是怎麼看憑證都很正常,該怎麼解決?

[Linux] 如何能知道我是什麼時候安裝系統的?

linux想知道什麼時候裝系統的?什麼時候建置的?不必憑記憶。