Linux shell 按行切割大檔案

2021-09-22 20:10:43 字數 707 閱讀 5369

最近專案中,檔案內容有點多,想刪除一部分的資料,如檔案有1000行,想保留600行(僅用來舉例,實際需求更複雜些),該怎麼辦呢?

不如把檔案切開來,想到用 split 試試

引數說明:

-b, --bytes=size:對file進行切分,每個小檔案大小為size。可以指定單位b,k,m。

-l, --lines=number:對file進行切分,每個檔案有number行。

prefix:分割後產生的檔名字首。

如:

split -l 400 file1 splitfile

執行完上一行,目錄下會多出兩個檔案 splitfilea splitfileb

splitfilea 是400行,splitfileb是 600行

刪除 splitfilea 即可,如果檔案為 1300 行呢,會多出 splitfilea splitfileb splitfilec splitfiled

又想把剩餘的合併呢?

# 刪除 splitfilea 後執行下面語句

cat splitfile* > result   

# 或者直接合併    

cat splitfileb splitfilec splitfiled > result

result 即為最終的檔案

47 按行切割檔案

在終端測試工作中,經常要抓一晚上的log,導致log的檔案特別大,比如有500m 用notepad開啟檔案提示檔案過大,無法打卡。在網上也沒找到特別合適的分割檔案的apk,因此在網上找了個按行切割檔案的指令碼,執行指令碼時遇到一些報錯,同時也有一些看不明白的 因此自己做了一些修改和刪減,最後可以正常...

List集合實現分頁,按頁數切割 按條數切割

在一些比較複雜一點的業務邏輯上面,我們經常要用實現手動對list集合進行分頁而處理,還有批量插入等他操作,下面就用泛型實現了這些功能,減少工作的重複性。泛型實現將list按照每頁多少條拆分,再次組裝集合包含集合 param list param pagesize return public stat...

nginx按小時切割日誌

有的日誌比較大,一天的日誌就有200g一台機器,如果按天切割日誌,檔案太大了,需要按小時切割日誌。下面講述乙個按小時切割日誌的方法,通過apache的cronolog來完成日誌的切割。1 首先安裝日誌切割 yum install httpd 2 配置nginx的日誌落地檔名,比如 opt log a...