Command-Line
將大文件分成小塊
如何將一個**+4GB的大文件分解為每個大約500MB**的小文件。
以及如何重新組裝它們以獲取原始文件?
您可以使用split和cat。
例如像
$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.
(其中輸入文件名是
foo
,最後一個參數是輸出前綴)。這將創建類似foo.000 foo.001
…的文件帶有短選項的相同命令:
$ split -b 100k -d -a 3 foo foo
如果您希望它在行邊界上拆分,而不僅僅是確切的字節數,您還可以指定“–line-bytes”。
要再次重新組裝生成的零件,您可以使案例如:
$ cat foo.* > foo_2
(假設 shell 對 shell globbing 的結果進行排序 - 並且元件的數量不超過系統相關的參數限制)
您可以通過以下方式比較結果:
$ cmp foo foo_2 $ echo $?
(應該輸出 0)
或者,您可以使用 find/sort/xargs 的組合來重新組裝這些片段:
$ find -maxdepth 1 -type f -name 'foo.*' | sort | xargs cat > foo_3