您可能想要將一個大文本文件拆分為許多較小的文件的原因有很多。由於存儲限製或通過使用不同的 U 盤一次復制較小的片段來加快傳輸速度。或者出於安全原因,您可能希望將文件的不同部分存儲在不同的位置。
Linux 命令行非常強大,您可以使用預安裝的工具在終端應用程序中完成所有操作。
創建示例文件
首先,使用 dnf 和 cat 命令創建一個大型示例文件。如果您已經有一個大文件,則無需創建此樣本文件。您可以直接跳到本教程的拆分部分。 (我在 Fedora 上,所以 dnf 是包管理器,但你應該使用你的發行版的包管理器)
在終端中,鍵入:
dnf list installed | cat >> dnflist.txt
然後在文本編輯器(如 vim 或 nano)中打開該文本文件,並驗證該文件確實是使用以下命令創建的:
vim dnflist.txt
或者對於 nano 用戶:
nano dnflist.txt
現在,自定義任一文本編輯器以顯示行數,如上圖所示。
拆分文件
拆分文檔有兩種方法:按文檔大小拆分和按行數拆分。
首先,讓我們按行數拆分文檔。
按行數拆分文本文件
如果你想知道文檔中的行數,你可以使用命令:
wc -l dnflist.txt

其中 -l 標誌指示文本文件中的行數。現在,使用 split 命令本身,在終端類型中:
split -l 100 --additional-suffix=.txt dnflist.txt

如果您不指定行號,該命令將默認在第 1000 行輸出文件。默認情況下,前綴設置為 (x),後綴設置為 (aa),–additional-suffix 標誌將 .txt 附加到每個文件的末尾。
按大小拆分文本文件
首先,要檢查原始文檔的大小,請在終端中輸入以下命令:
ls -l dnflist.txt

如上,文件為158159字節。添加了根據字節大小將文件拆分為多個部分的選項。假設您希望每個文件為 100000 字節。然後在終端中輸入以下內容:
split -b 100000 --additional-suffix=.txt dnflist.txt

結論是
您還可以通過輸入以下相同的命令,將數字後綴添加到拆分命令輸出的末尾:
split -d -b 100000 --additional-suffix=.txt dnflist.txt output_text

或者,對於字母后綴,您不需要使用 -d 標誌。只需輸入:
split -b 100000 --additional-suffix=.txt dnflist.txt output_text

參考:Archwiki – 拆分命令