BLOGTIMES
2014/09/10

ファイルを一定行数ごとに分割する

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

大きなテキストファイルを一定行数ごとに分割する良い方法がないかと思って調べていたら灯台もと暗しで、coreutils に split というコマンドが用意されていました。-l オプションを使うと大きなファイルを指定した行数ごとのファイルに分割してくれます。例えば以下のようなコマンドを使うと large.txt の内容を 10 行ずつ、pre.aa, pre.ab, pre.ac, pre.ad, ...... という感じで分割してくれます。ファイルの末尾が数字じゃないのでちょっと分かりづらいですが、ファイル名でソートして結合すれば元のファイルに戻せるようにはなっているようです。

split -l 10 large.txt pre.

参考

split invocation - GNU Coreutils

‘-l lines’
‘--lines=lines’
  Put lines lines of input into each output file. 
  For compatibility split also supports an obsolete option syntax -lines. New scripts should use -l lines instead.

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7005
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン