您可能想要將一個大文本文件拆分為許多較小的文件的原因有很多。由於存儲限製或通過使用不同的 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 – 拆分命令