您可能希望將大文本文件拆分為許多較小文件的原因有很多。由於存儲限製或提高傳輸速度,一次使用不同的 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 命令輸出的末尾添加數字後綴:
split -d -b 100000 --additional-suffix=.txt dnflist.txt output_text

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

參見:Archwiki – split 命令