Xargs
xargs は、改行等で区切られた標準入力を読み込み、空白で区切られた1行の文字列へ加工し、それを引数として指定したコマンドへ渡して実行させる。
というコマンドは次のものと等価である。
上記の例は echo で生成させたファイルパスを xargs に与えるものだが、find コマンドで階層的に検索して取得したファイルパスを xargs に与えることもできる。
ただし、find コマンドが出力するファイルパスのリストはとても長くなる場合がある。xargs コマンドが内部的に発生させる chmod コマンドの1行が長すぎることになり、chmod コマンド実行失敗する。
find コマンドが例えば200個のファイルパスを出力した場合、xargs が内部的に生成する chmod コマンドの1行はこんな感じになる。
この場合、xargs が内部的に生成した chmod コマンドを実行することは出来ないかもしれない。