在終端中將文本文件拆分為多個部分


您應該將一個大文本文件拆分成許多小文件的原因有很多。由於存儲限製或提高傳輸速度,一次使用不同的 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字節。您現在可以選擇根據文件大小(以字節為單位)將文件分成幾部分。假設您希望每個文件有 100,000 個字節。然後在終端中輸入以下內容:

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-split 命令