splitコマンドについて詳しくまとめました 【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

splitはファイルを複数のファイルに分割するコマンドだ。

大きすぎるファイルを分割したり、扱いやすい大きさにしたりするのに利用する。

splitコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ split オプション 元ファイル名 出力ファイルベースファイル名

出力するファイルの名前は出力ファイルベースファイル名にアルファベットが付与される。

オプションは後で詳しく説明するが、ファイルcode.phpを2行ごとにa_code+アルファベットというファイル名に分割する場合は、次のコマンドだ。

$ split -l 2 code.php a_code

splitコマンド

ファイルcode.phpが2行ごとにa_codeaaからa_codeacまでの3ファイルに分割された。

splitコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -b(オプション--bytes=SIZE)

バイト単位で分割する

オプション -l(オプション--lines=NUMBER)

行単位で分割する

オプション -a(オプション--suffix-length=N)

ベースファイル名に付与するアルファベットの文字数を指定する

オプション -d(オプション--numeric-suffixes)

ベースファイル名に付与するアルファベットを数字にする

オプション--verbose

ファイルの作成状況を表示する

-bオプション(--bytes=SIZEオプション):バイト単位で分割する

分割をバイト単位で行う。

書式は次のとおりだ。

$ split -b 20 元ファイル名 出力ファイルベースファイル名

ファイルcode.phpを20バイトごとにa_code+アルファベットというファイル名に分割する場合は、次のコマンドだ。

$ split -b 20 code.php a_code

splitコマンド

ファイルcode.phpが20バイトごとにa_codeaaからa_codeacまでの3ファイルに分割された。

少し見づらいが、catコマンドの結果、改行が含まれず出力されている。これは、分割されたファイルの最終文字が改行ではなく、行の途中で分割されているためだ。

-lオプション(--lines=NUMBERオプション):行単位で分割する

コマンドの基本操作でも解説したが、-lオプションについて詳細を解説する。

-lオプションは行単位で分割する。

書式は次の通りだ。

$ split -l 行数 元ファイル名 出力ファイルベースファイル名

ファイルcode.phpを3行ごとにb_code+アルファベットというファイル名に分割する場合は、次のコマンドだ。

$ split -l 3 code.php b_code

splitコマンド

ファイルcode.phpが3行ごとにb_codeaaとb_codeacの2ファイルに分割された。

-aオプション(--suffix-length=Nオプション):ベースファイル名に付与するアルファベットの文字数を指定する

オプションなしでは、出力されるファイル名に指定したベースファイル名に付与されるアルファベットの文字数は2文字だ。

分割するファイル数が少ない場合は、1文字でもよい場合もある。反対に分割するファイルが多い場合は、2文字では少ない場合もある。

そのような時に、文字数を設定するオプションで書式は次の通りだ。

$ split オプション -a アルファベットの文字数 元ファイル名 出力ファイルベースファイル名

ファイルcode.phpを3行ごとにc_code+1文字のアルファベットというファイル名に分割する場合は、次のコマンドだ。

$ split -l 3 -a 1 code.php c_code

splitコマンド

出力ファイル名に付与されるアルファベットが1文字のみになっている。

-dオプション(--numeric-suffixesオプション):ベースファイル名に付与するアルファベットを数字にする

オプションなしでは、出力されるファイル名に指定したベースファイル名に付与されるのはアルファベットだ。

$ split オプション -d 元ファイル名 出力ファイルベースファイル名

ファイルcode.phpを3行ごとにc_code+数字というファイル名に分割する場合は、次のコマンドだ。

$ split -l 3 -d code.php c_code

splitコマンド

作成したファイルを表示しながら分割する。書式は次の通りだ。

$ split オプション -- verbose 出力ファイルベースファイル名

ファイルcode.phpを作成したファイルを表示しながら3行ごとに分割する場合は、次のコマンドだ。

$ split -b 20 code.php a_code

出力ファイル名に付与される文字が数字になっている。

--verboseオプション:ファイルの作成状況を表示する

$ split -l 3 --verbose code.php c_code

splitコマンド

作成するファイル名を表示しながらファイルを分割した。

split関連コマンド

最後にsplitコマンドに関連して、基本的なファイル管理のコマンドも紹介しておく。

sortコマンド

テキストファイルを並べ替えする。

cutコマンド

文字列を分離する。

uniqコマンド

重複行を削除する。

pasteコマンド

テキストファイルを列方向で結合する。

まとめ

このページでは、splitコマンドを使ったファイルの分割の方法を解説した。

近年では、大規模のディスク容量やネットワークが発展したことから、大容量のファイルのやりとりでファイルを分割しないと授受できないということはなくなった。

しかし、ログデータなどは膨大になることが多く、テキストエディタでデータを確認するには1ファイルにまとまっているよりも分割されていた方が便利なときがある。

分割後はgrepコマンドなどで検索しながら管理するとよい。

 

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する