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

11Linuxシステムで役立つ分割コマンドの例

名前が示すように、「分割 ‘コマンドは、LinuxおよびUNIXシステムでファイルを分割または分割するために使用されます。 splitコマンドを使用して大きなファイルを分割する場合は常に、分割出力ファイルのデフォルトサイズは1000行で、デフォルトのプレフィックスは「x」になります。

この記事では、Linuxユーザー向けの11の便利な分割コマンドの例について説明します。これとは別に、分割されたファイルを単一のファイルにマージまたは再アセンブルする方法についても説明します。分割コマンドの構文:

#split {options} {file_name} {prefix}

分割コマンドの重要なオプションのいくつかを以下に示します。

例:1)ファイルを細かく分割する

tuxlap.txtのファイル名があると仮定します。以下のsplitコマンドを使用して断片に分割します

 [[email protected]〜]#split tuxlap.txt [[email protected]〜]#lltotal32-rw-------。 1ルートルート980Aug1200:11anaconda-ks.cfg-rw-r--r--。 1ルートルート9607Nov1103:22tuxlap.txt-rw-r--r--。 1ルートルート8744Nov1103:23xaa-rw-r--r--。 1ルートルート863Nov11 03:23 xab [[メール保護]〜]#

上記の出力「tuxlab.txt」を見るとわかるように、 ‘は「xaa」と「xab」という名前の2つの部分に分割されます。

例:2)詳細オプションを使用したコマンドの分割

オプション「–verbose 」を使用して、splitコマンドを冗長モードで実行できます。 ‘、例を以下に示します:

 [[email protected]〜]#split tuxlap.txt --verbosecreating file‘xaa’creating file‘xab’ [[email protected]〜]#

例:3)行番号をカスタマイズしてファイルを分割する(-l)

行番号をカスタマイズしてファイルを分割したいとします。たとえば、ファイルごとに最大200行が必要だとします。

これを実現するには、分割コマンドで「-l」オプションを使用します。

 [[email protected]〜]#split -l200 tuxlap.txt --verbosecreating file'xaa' creating file'xab' creating file'xac' creating file'xad' creating file'xae' creating file'xaf' [ [メール保護]〜]#

以下のコマンドを使用して、各ファイルの行を確認します

 [[email protected]〜]#wc -l xa * 200 xaa 200 xab 200 xac 200 xad 200 xae 91 xaf1091 total [[email protected]〜]#

例:4)オプション-bを使用してファイルサイズでファイルを分割する

Splitコマンドを使用すると、ファイルサイズでファイルを分割できます。次の構文を使用して、サイズがバイト、KB、MB、GBのファイルを分割します

#split -b {bytes} {file_name}

#split -b nK {file_name}//nは数値です

#split -b nM {file_name}//nは数値です

#split -b nG {file_name}//nは数値です

バイトに基づいてファイルを分割:

 [[メール保護]〜]#split -b2000000 tuxlap.txt 

KBに基づいてファイルを分割:

 [[メール保護]〜]#split -b 50K tuxlap.txt 

MBに基づいてファイルを分割:

 [[メール保護]〜]#split -b 50M tuxlap.txt 

GBに基づいてファイルを分割:

 [[email protected]〜]#split -b 1G tuxlap.txt 

例:5)アルファベット(-d)の代わりに数字のサフィックスを使用して分割ファイルを作成する

上記の例では、分割コマンド出力ファイルがxaa、xab….. xanのようなアルファベットの接尾辞で作成されることを確認しました。分割コマンドで「-d」オプションを使用して、x00、x01、…x0nのような数値の接尾辞を持つ分割出力ファイルを作成します。

 [[email protected]〜]#split -d tuxlap.txt [[email protected]〜]#lltotal1024256-rw-------。 1ルートルート980Aug12 00:11anaconda-ks.cfg-rwx------。 1ルートルート104857600011月11日03:54linux-lite.iso-rw-r--r--。 1ルートルート120010Nov1104:39tuxlap.txt-rw-r--r--。 1ルートルート11998年11月11日04:41x00-rw-r--r--。 1ルートルート12000Nov1104:41x01-rw-r--r--。 1ルートルート12000Nov1104:41x02-rw-r--r--。 1ルートルート12000Nov1104:41x03-rw-r--r--。 1ルートルート12000Nov1104:41x04-rw-r--r--。 1ルートルート12000Nov1104:41x05-rw-r--r--。 1ルートルート12000Nov1104:41x06-rw-r--r--。 1ルートルート12000Nov1104:41x07-rw-r--r--。 1ルートルート12000Nov1104:41x08-rw-r--r--。 1ルートルート12000Nov1104:41x09-rw-r--r--。 1ルートルート11月12日04:41x10[[メール保護]〜]#

例:6)サフィックスのカスタマイズでファイルを分割

splitコマンドを使用すると、接尾辞をカスタマイズして分割出力ファイルを作成できます。接尾辞をカスタマイズして分割出力ファイルを作成するとします

構文:

#split {file_name} {prefix_name}

 [[email protected]〜]#split tuxlap.txt split_file _ [[email protected]〜]#lltotal1024248-rw-------。 1ルートルート980Aug12 00:11anaconda-ks.cfg-rwx------。 1ルートルート104857600011月11日03:54linux-lite.iso-rw-r--r--。 1ルートルート11998年11月11日04:56split_file_aa-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ab-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ac-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ad-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ae-rw-r--r--。 1ルートルート12000Nov1104:56split_file_af-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ag-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ah-rw-r--r--。 1ルートルート12000Nov1104:56split_file_ai-rw-r--r--。 1ルートルート12000Nov1104:56split_file_aj-rw-r--r--。 1ルートルート11月12日04:56split_file_ak-rw-r--r--。 1ルートルート120010Nov11 04:39 tuxlap.txt [[メール保護]〜]#

例:7)分割コマンド(-n)を使用してn個のチャンク出力ファイルを生成します

isoファイルを4つのチャンク出力ファイルに分割するとします。 splitコマンドで「-n」オプションを使用して、分割出力ファイルの数を制限します。

 [[email protected]〜]#split -n5 linux-lite.iso 

llコマンドを使用してファイルを分割することを確認します。

 [[email protected]〜]#lltotal2048124-rw-------。 1ルートルート980Aug12 00:11anaconda-ks.cfg-rwx------。 1ルートルート104857600011月11日03:54linux-lite.iso-rw-r--r--。 1ルートルート120010Nov1104:39tuxlap.txt-rw-r--r--。 1ルートルート20971520011月11日05:22xaa-rw-r--r--。 1ルートルート20971520011月11日05:22xab-rw-r--r--。 1ルートルート20971520011月11日05:22xac-rw-r--r--。 1ルートルート20971520011月11日05:23xad-rw-r--r--。 1ルートルート20971520011月11日05:23xae[[メール保護]〜]#

例:8)オプション(-e)を使用してゼロサイズ分割出力ファイルを防止する

小さなファイルを多数のチャンクファイルに分割し、そのような場合にゼロサイズの分割出力ファイルを作成できるシナリオがいくつかある可能性があるため、ゼロサイズの分割出力ファイルを回避するには、オプション'-e'>

 [[email protected]〜]#split -n60 -e tuxlap.txt [[email protected]〜]#ls -l x*-rw-r--r--。 1ルートルート2000Nov1105:34xaa-rw-r--r--。 1ルートルート2000Nov1105:34xab-rw-r--r--。 1ルートルート2000Nov1105:34xac-rw-r--r--。 1ルートルート2000Nov1105:34xad-rw-r--r--。 1ルートルート2000Nov1105:34xae-rw-r--r--。 1ルートルート2000Nov1105:34xaf-rw-r--r--。 1ルートルート2000Nov1105:34xag-rw-r--r--。 1ルートルート2000Nov11 05:34 xah.............-rw-r--r--。 1ルートルート2000Nov1105:34xce-rw-r--r--。 1ルートルート2000Nov1105:34xcf-rw-r--r--。 1ルートルート2000Nov1105:34xcg-rw-r--r--。 1ルートルート2010年11月11日05:34xch[[メール保護]〜]#

例:9)接尾辞の長さをカスタマイズする分割出力ファイルを作成する(-aオプション)

isoファイルを分割し、分割された各出力ファイルのサイズが500 MB、サフィックスの長さが3であるとします。次のsplitコマンドを使用します。

 [[email protected]〜]#split -b 500M linux-lite.iso -a 3 [[email protected]〜]#lltotal2048124-rw-------。 1ルートルート980Aug12 00:11anaconda-ks.cfg-rwx------。 1ルートルート104857600011月11日03:54linux-lite.iso-rw-r--r--。 1ルートルート120010Nov1104:39tuxlap.txt-rw-r--r--。 1ルートルート524288000Nov1105:43xaaa-rw-r--r--。 1ルートルート52428800011月11日05:43xaab[[メール保護]〜]#

例:10)ISOファイルを分割し、1つのファイルにマージします。

サイズが4.2GBのWindowsServerISOファイルがあり、そのサイズが原因でこのファイルをリモートサーバーにscpできないとします。

このようなタイプの問題を解決するために、ISOをn個のピース​​に分割し、これらのピースをリモートサーバーにコピーし、リモートサーバーで、catコマンドを使用してこれらのピースを1つのファイルにマージできます。

 [[メール保護]〜]#split -b 800M Windows2012r2.iso Split_IS0 _ 

llコマンドを使用して分割された出力ファイルを表示します

 [[email protected]〜]#lltotal8871788-rw-------。 1ルートルート980Aug1200:11anaconda-ks.cfg-rw-r--r--。 1ルートルート83886080011月11日06:29Split_IS0_aa-rw-r--r--。 1ルートルート83886080011月11日06:29Split_IS0_ab-rw-r--r--。 1ルートルート83886080011月11日06:29Split_IS0_ac-rw-r--r--。 1ルートルート83886080011月11日06:29Split_IS0_ad-rw-r--r--。 1ルートルート83886080011月11日06:29Split_IS0_ae-rw-r--r--。 1ルートルート34798796811月11日06:29Split_IS0_af-rw-r--r--。 1ルートルート120010Nov11 04:39tuxlap.txt-rwx------。 1ルートルート454229196811月11日06:03Windows2012r2.iso[[メール保護]〜]#

次に、これらのファイルをリモートサーバーにコピーし、catコマンドを使用してこれらのファイルを1つにマージします

 [[email protected]〜]#cat Split_IS0_a *> Windows_Server.iso [[email protected]〜]#

例:11)md5sumユーティリティを使用してマージファイルの整合性を確認します

例10のように、分割された出力ファイルが1つのファイルにマージされると、md5sumユーティリティを使用して実際のファイルとマージファイルの整合性を確認できます。例を以下に示します:

 [[email protected]〜]#md5sum Windows2012r2.iso5b5e08c490ad16b59b1d9fab0def883a Windows2012r2.iso [[email protected]〜]#[[email protected]〜]#md5sum Windows_Server.iso5b5e08c490ad16b59b1d9fab0 / pre> 

上記の出力のように、整合性が維持されていることを確認し、分割されたファイルが正常に単一のファイルに復元されたと言うこともできます。

これですべてこの記事からです。これらの例が気に入った場合は、下のコメントセクションで貴重なフィードバックやコメントを共有してください。


Linux
  1. Linuxでの12の便利なWgetコマンドの例

  2. Linux初心者向けの16の便利な「cp」コマンドの例

  3. Linuxでのlsコマンド:17の便利な例の説明

  1. 14Linuxで役立つ「ls」コマンドの例

  2. Linuxユーザー向けの12のIPコマンド例

  3. LinuxでのSplitコマンドの9つの便利な例

  1. 12Linux管理者向けの便利な「dmidecode」コマンドの例

  2. 9Linuxでの便利なtouchコマンドの例

  3. Linuxシステム用の10の便利なncat(nc)コマンド例