Linux中國

使用 split 命令分割 Linux 文件

Linux 系統提供了一個非常易於使用的命令來分割文件。在將文件上傳到限制大小的存儲網站或者作為郵件附件之前,你可能需要執行此操作。要將文件分割為多個文件塊,只需使用 split 命令。

$ split bigfile

默認情況下,split 命令使用非常簡單的命名方案。文件塊將被命名為 xaaxabxac 等,並且,大概地,如果你將足夠大的文件分割,你甚至可能會得到名為 xzaxzz 的塊。

除非你要求,否則該命令將無任何反饋地運行。但是,如果你想在創建文件塊時看到反饋,可以使用 --verbose 選項。

$ split –-verbose bigfile
creating file 'xaa'
creating file 'xab'
creating file 'xac'

你還可以給文件命名前綴。例如,要將你原始文件分割並命名為 bigfile.aabigfile.ab 等,你可以將前綴添加到 split 命令的末尾,如下所示:

$ split –-verbose bigfile bigfile.
creating file 'bigfile.aa'
creating file 'bigfile.ab'
creating file 'bigfile.ac'

請注意,上述命令中顯示的前綴的末尾會添加一個點。否則,文件將是 bigfileaa 之類的名稱,而不是 bigfile.aa

請注意,split 命令不會刪除你的原始文件,只是創建了文件塊。如果要指定文件塊的大小,可以使用 -b 選項將其添加到命令中。例如:

$ split -b100M bigfile

文件大小可以是 KB、MB,GB,最大可以是 YB!只需使 K、M、G、T、P、E、Z 和 Y 這些合適的字母。

如果要基於每個塊中的行數而不是位元組數來拆分文件,那麼可以使用 -l(行)選項。在此示例中,每個文件將有 1000 行,當然,最後一個文件可能有較少的行。

$ split --verbose -l1000 logfile log.
creating file 'log.aa'
creating file 'log.ab'
creating file 'log.ac'
creating file 'log.ad'
creating file 'log.ae'
creating file 'log.af'
creating file 'log.ag'
creating file 'log.ah'
creating file 'log.ai'
creating file 'log.aj'

如果你需要在遠程站點上重新組合文件,那麼可以使用如下所示的 cat 命令輕鬆地完成此操作:

$ cat x?? > original.file
$ cat log.?? > original.file

上面所示的分割和組合命令適合於二進位和文本文件。在此示例中,我們將 zip 二進位文件分割為 50KB 的塊,之後使用 cat 重新組合了它們,然後比較了組合後的文件和原始文件。diff 命令驗證文件是否相同。

$ split --verbose -b50K zip zip.
creating file 'zip.aa'
creating file 'zip.ab'
creating file 'zip.ac'
creating file 'zip.ad'
creating file 'zip.ae'
$ cat zip.a? > zip.new
$ diff zip zip.new
$                    <== 無輸出 = 無差別

我唯一要提醒的一點的是,如果你經常使用 split 並使用默認命名,那麼某些文件塊可能會覆蓋其他的文件塊,甚至會比你預期的更多,因為有些是更早之前分割的。

via: https://www.networkworld.com/article/3489256/breaking-linux-files-into-pieces-with-the-split-command.html

作者:Sandra Henry-Stocker 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...