find と xargs を使い多数のファイルをまとめて処理する
2012-08-30-2
[Tips]
多数のファイルの中身をまとめて処理したい場面は多々あるが、引数がたくさんすぎてエラーになりがち。
そこで find を使って解決。
xargs との組み合わせが王道。こちらの方が断然速い。
ref.
- いまさらxargsの便利さを主張してみる (ディノオープンラボラトリ)
http://openlab.dino.co.jp/2008/02/20/133431188.html
- [を] find でディレクトリ中のファイルを指定された更新日時条件で削除[2011-11-17-2]
% ./get-noun-phase.pl dat/text/*.txt zsh: argument list too long: get-noun-phase.pl % cat dat/text/*.txt | ./get-noun-phase.pl zsh: argument list too long: cat % ls dat/text/ | egrep '\.txt$' | wc -l 18153
そこで find を使って解決。
% find dat/text/ -name '*.txt' -exec cat {} \; | ./get-noun-phase.pl
xargs との組み合わせが王道。こちらの方が断然速い。
% find dat/text/ -name '*.txt' | xargs cat | ./get-noun-phase.pl
ref.
- いまさらxargsの便利さを主張してみる (ディノオープンラボラトリ)
http://openlab.dino.co.jp/2008/02/20/133431188.html
- [を] find でディレクトリ中のファイルを指定された更新日時条件で削除[2011-11-17-2]
この記事に言及しているこのブログ内の記事