Text-Processing
根據大小拆分文件,但確保以換行符結尾
我能夠
split
成功使用該命令將大文件拆分為多個小文件。這是通過以下命令實現的split -b 1G $temp_path $final_filepath
但唯一需要注意的是,這些文件多次包含最後一行,該行被拆分為 2 個文件。有沒有辦法避免使用
split
或任何其他命令?
是的,不要使用
-b
參數。從split(1) 手冊頁:-b, –bytes=SIZE 為每個輸出文件放置 SIZE 個字節
-C, –line-bytes=SIZE 每個輸出文件最多放置 SIZE 字節的行
-l, –lines=NUMBER 每個輸出文件放 NUMBER 行
通過使用
-b
,您告訴 split 以特定大小(以字節(或 Kb 或 MB)為單位)劃分文件。如果那是一條線的中間,那就太糟糕了。拆分支持“行數”和“由整行組成的最大輸出文件大小”。
相反,試試這個:
split -C 1G $temp_path $final_filepath
該
-C
標誌並非在所有版本的 split 上都可用(尤其是 OS X / Darwin)。在這種情況下,您可以使用Homebrew和MacPortsgsplit
上的 GNUcoreutils
包中提供的。