[精讚] [會員登入]

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

[地理] 澳洲柏斯的位置竟然比台灣還要西邊

這近我驚奇的發現,澳洲柏斯的精度竟然比臺灣甚至今晚還要來的西邊

WarSpotting 統計俄國在烏克蘭戰爭中到底是損失了多少軍事裝備或人員

這個網站可以看到俄羅斯在戰場上的軍事人員裝備損失,非常詳細

Mac上 vim的複製貼上不能用

在freebsd系統中發現vim裡的command+c沒辦法選取複製,但command+v可以貼上

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

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

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

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

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

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