如何將較大的文件分割成較小的部分?

如何將較大的文件分割成較小的部分?

我有一個大檔案(例如 8GB)。我怎麼能把它分成多個部分,比如說3個相等的部分,然後我該如何整合它們?

答案1

有幾種方法可以實現這一點。讓我們從基本的開始。

使用分裂命令:

假設我有一張圖像,它太大了(10MB)。我所做的就是:

split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces

然後將其放在一起我使用 cat:

cat prefixFiles* > newimage.jpg

例如:

假設在影像所在的資料夾內:

split --bytes=1M myimage.jpg new

如果映像位於名為 images 的目錄中,您也可以執行下列操作:

split --bytes=1M images/myimage.jpg new

如果映像位於目錄 /home/cyrex/images 內,您可以執行下列操作:

split --bytes=1M /home/cyrex/images/myimage.jpg new

(在上述所有情況下,它將分割myimage.jpg成 1MB 的片段,並在片段名稱前添加單字 new 前綴。因此它們看起來像newaa, newab, newac, newad...)

如果您要分割一個文字檔案並想按行分割它,你可以這樣做:

split -l 1000 book.txt new

這會將文字檔案拆分為每個 1000 行的輸出檔案。這是另一種分割檔案的方法,主要用於日誌、sql 轉儲、csv 檔案等文字檔案。

然後我將它們合併

cat new* > newimage.jpg

這是一種方法。您甚至可以更改分割塊的大小。只需將--bytes=1M表示--bytes=1K1 KB 或 1G的部分更改為千兆,或其他數字,例如--bytes=4K4KB 的部分。

使用鸚鵡螺

另一種方法是 Nautilus 圖形使用者介面中的壓縮選項。它為您提供了一個選項,可以將要壓縮的一個或多個檔案拆分為較小的兆位元組大小。它簡單又容易。

另一種方法是使用7z

假設您有一個名為的 ISO 映像,ubuntu.iso您可以執行以下操作:

7z a -v5m -mx0 ubuntu.7z ubuntu.iso

這將從ubuntu.iso.是-v5m磁碟區大小,因此您可以將其變更為 10、12、1、3,m 也可以變更為 k(千位元組)等;開關-mx0告訴 7-Zip 不使用壓縮,即僅將資料分成幾個部分。

提取只需做

7z x ubuntu.7z.001

這樣您就可以提取第一個文件,然後 7z 開始按順序提取以下文件。你也可以做

7z e ubuntu.7z.001

這裡有同樣的效果。

答案2

使用split -b適當的數量,您可以獲得三塊。

號碼可以是:

size=$(wc -c <"file name")
one_third=$((size/3+1))

若要重新組裝,請使用 cat

cat "file name"* > "file name"

手冊頁將幫助填寫詳細資訊。

答案3

侏儒分裂?http://gnome-split.org/

GNOME Split 是一個允許您拆分檔案並將它們合併回來的工具。它是用 Java 編寫的,並使用 GTK+ 使用者介面(感謝 java-gnome 專案)。目標是提供類似專案的本機實現,可以處理多種檔案格式(例如 Xtremsplit)。

http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/

答案4

樵夫

用 Java 開發的免費文件分割和合併實用程式。它是一個小尺寸的應用程序,允許用戶將任何類型的檔案分割為更小的尺寸(以 KB、MB 或 GB 為單位)。

它適用於 Linux 和 Windows。

WoodCutter 提供了 3 種合併原始文件的方法。 WoodCutter 建立一個合併文件,WoodCutter 應用程式可以處理該文件以將所有文件重新連接。如果分割文件的接收者沒有安裝 WoodCutter,則也可以獲得原始文件,因為 WoodCutter 也會建立一個批次文件和一個 Shell 腳本文件來將文件合併回去。 Windows平台使用批次文件,Linux平台使用Shell腳本。

http://java-puzzle.blogspot.com/2009/07/woodcutter.html

相關內容