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

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

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*