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


您可能希望將大文本文件拆分為許多較小文件的原因有很多。由於存儲限製或提高傳輸速度,一次使用不同的 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 命令