GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでコマンドラインからファイルを分割して結合する方法

この簡単なチュートリアルでは、「split」および「cat」コマンドを使用して、LinuxおよびUnixライクなオペレーティングシステムのコマンドラインからファイルを分割および結合する方法を示します。

LinuxデスクトップにたくさんのLinuxチュートリアルビデオがあり、それらすべてをGoogleドライブに移動したいと思いました。問題は、一部のビデオファイルのサイズが1GiBを超えることです。このような大きなファイルをGoogleドライブにアップロードすることは実際には良いアプローチではありません。 Googleドライブでは最大5TBのファイルをアップロードできますが、すべての大きなファイルをアップロードするには非常に時間がかかるプロセスだと思います。

この問題を考えながら、これらのファイルをより小さなサイズに分割して1つずつアップロードできればもっと良いと思いました。その後、ファイルのすべての部分をダウンロードして、いつでもそれらをすべて組み合わせることができます。これは単なる例です。大きなファイルを複数の部分に分割し、後でそれらを結合する理由はさまざまです。あなたがこのような状況にあったとしても、恐れることはありません。 "split"と呼ばれる簡単なコマンドラインユーティリティがあります これは、大きなファイルを複数の小さなファイルに分割するために使用されます。後でそれらすべてを結合して、1つのファイルを作成できます。

Linuxのコマンドラインからファイルを分割して結合する

まず、大きなファイルを複数の小さなファイルに分割する方法を見てみましょう。

コマンドラインからLinuxでファイルを分割する

次のビデオファイルのサイズを見てください。

 $ du -h Linux \ Security.mp4 

出力例:

  1.1G  Linux Security.mp4 

ご覧のとおり、ビデオファイルのサイズは1.1 GiBで、これは私のGoogleドライブにアップロードするには非常に大きいです。それでも、Googleドライブ ユーザーが最大5TBのファイルをアップロードできるようにします サイズ的には、それは本当に時間のかかるプロセスです。私の低速イン​​ターネット接続では、アップロードに30分以上かかると思います。そんなに長く待ちたくない。そこで、アップロードプロセスを高速化するために、このファイルを複数の小さいサイズのファイル(たとえば、それぞれ100 MB)に分割します。

ここで、上記のファイルを複数の小さなファイル、たとえばそれぞれ100MBに分割しましょう。これを行うには、次を実行します:

 $ split -b 100M Linux \Security.mp4ls。

上記のコマンドは、LinuxSecurity.mp4ファイルを100MBのチャンクに分割します。このコマンドは、 ls.aaという名前のファイルを作成します 、 ls.ab ls.ac ..など。

大きなファイルを分割した後の出力を見てみましょう。

 $ ls 

出力例:

'Linux Security.mp4' ls.ab ls.ad ls.af ls.ah ls.aj ls.aa ls.ac ls.ae ls.ag ls.ai ls.ak 

見る? Linux Security.mp4ファイルは、ls.aa、ls.ab....ls.akなどの名前の複数のファイルに分割されています。各ファイルサイズは100MBです。

さて、それらを電子メールの添付ファイルとして送信するのは少し簡単です。

コマンドラインからLinuxでファイルを結合する

すべてのファイルをフォルダに保存します。次に、そのフォルダに移動して、次のように結合します。

 $catls。??> Linux_security.mp4 

ここで、Linux_security.mp4は出力ファイル名です。二重疑問符( ?? )ファイル名の任意の2文字の拡張子と一致します。簡単に言うと、ファイル名の部分はls。?? ls.aa、ls.ab ..etc。などのすべてのファイル名に一致し、それらすべてを1つのファイルに結合します。このコマンドは、2文字の拡張子を含むすべてのファイルを結合することに注意してください。したがって、ファイルを結合する前に必ず確認してください。 2文字の拡張子を持つ他のファイルがある場合は、それらも出力ファイルにマージされます。

また、それらをマージするときに正しい拡張子を言及することを忘れないでください。すべてのファイルをメールで友達に送信したい場合は、送信したファイルの正しい拡張子を友達に伝えてください。それらを組み合わせるときは、出力ファイルで同じファイル拡張子を使用する必要があります。

splitコマンドで引数を指定しない場合、ファイルは x の複数の小さなファイルに分割されます ファイル名として。各ファイルには、デフォルトで1000行が含まれます。ここで、 は、各ファイル名にデフォルトで追加される2文字のサフィックスです。

以下のような追加の引数を指定せずに、splitコマンドを使用して同じファイルを分割しましょう。

 $ split Linux \ Security.mp4 

このコマンドは、Linuxセキュリティファイルをファイル名としてx**を使用して複数の小さなファイルに分割します。

'ls'コマンドを実行してファイルを表示します:

 $ ls 

サンプル出力:

 Linux Security.mp4 xaj xat xbd xbn xbx xch xcr xdb xdl xdv xef xep xez xfjxaa xak xau xbe xbo xby xci xcs xdc xdm xdw xeg xeq xfa xfkxab xal xav xbf xbp xbz xcj xct xdd xdn xaw xbg xbq xca xck xcu xde xdo xdy xei xes xfc xfmxad xan xax xbh xbr xcb xcl xcv xdf xdp xdz xej xet xfdxae xao xay xbi xbs xcc xcm xcw xdg xdq xea xek xeu xfexaf xap xev xffxag xaq xba xbk xbu xce xco xcy xdi xds xec xem xew xfgxah xar xbb xbl xbv xcf xcp xcz xdj xdt xed xen xex xfhxai xas xbc xbm xbw xcg xcq xda xdk xdu xee xeo xey xfi 
 各ファイルには1000行が含まれている必要があります。  wcを使用して確認することもできます (単語数)コマンドは以下のとおりです。

 $ wc -l * 

サンプル出力は次のようになります:

 142891 Linux Security.mp4 1000 xaa 1000 xab 1000 xac 1000 xad 1000 xae 1000 xaf 1000 xag1000xah。 。 。 1000 xfl 891xfm285782合計

これらすべてのファイルを組み合わせるには、次を実行します:

 $ cat x *> ls.mp4 

上記のコマンドは、すべてのファイルを ls.mp4という1つのファイルに結合します。 。

詳細については、manページを参照してください。

 $ man split 

お読みになることをお勧めします:

  • PDFファイルから特定のページを分割または抽出する方法
  • LinuxのコマンドラインでPDFファイルをマージする方法

結論

Linuxでファイルを分割または結合するために利用できる他のCLIおよびGUIツールが存在する可能性があります。ただし、「split」はプリインストールされている組み込みコマンドです。したがって、Linuxボックスに追加のツールをインストールする必要はありません。また、splitコマンドは、ファイルをすばやく複数の部分に分割します。


Linux
  1. SCP Linuxコマンド–リモートからローカルへのSSHファイル転送方法

  2. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  3. Linuxコマンドラインでファイルとディレクトリを削除する方法[初心者向けチュートリアル]

  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. Linux で「split」コマンドを使用して iso またはファイルを分割する方法

  3. Linux コマンド ラインからビデオ ファイルの解像度 (幅と高さ) を取得するにはどうすればよいですか?

  1. Linuxでの偶発的なファイル削除を防止および回復する方法

  2. Linux でファイルの行数を数える方法 (wc および nl コマンドの例)

  3. bzip2 コマンドを使用して Linux で .bz2 ファイルを圧縮および解凍する方法