booksディレクトリ下の*.txtを全て標準出力経由でrubyのプログラムに渡したい時 cat books/*.txt | nkf -u | ruby -Ku make_dict.rb > dict.txt これでいいのだが、ファイルが多いと "argument list too long" と言われてしまう。 xargsとfindを使ったらできた。 find books | grep "\.txt$" | xargs cat | nkf -u | ruby -Ku make_dict.rb > dict.txt xargs xargsは引数に与えられたコマンドに、標準入力を改行区切りで渡す find lsだとファイル名がフルパスで出なかったので、findでディレクトリ名を指定した。