[精讚] [會員登入]

[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
你可能有興趣

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

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

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

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

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

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

地圖填色的網站

我們想為國家填色不需要小畫家,這個網站能幫助你

[Linux] 列出所有目錄及所占空間的方法

想知道目錄下的所有目錄所占的空間大小?

[Linux] grep 排除特定字串

使用 -v 參數可以讓grep排除特定字串的方法