研究をしていると、実験結果を記録したファイルがたくさん生成されます。
これらのファイルに対して、シェルを使って同じ処理を行わせたい時もあると思うんですが、あまりにも対象のファイルが多いと「Arguments too long」というエラーメッセージが出てしまいます。今回は、それに如何にして対処するかを紹介します。
なぜ、このようなエラーメッセージが出るかというと、シェルではコマンドライン引数の長さが決まっているからです。この上限を変更することもできると思うのですが、それをしなくても xarg コマンドを利用することで解決することができます。
# 以下のコマンドをxargsを使って書き換え # rm *.txt echo *.txt | xargs rm
こんな感じで置き換えてやると、xargsコマンドが自動的にコマンドライン引数を分割して実行してくれます。慣れるととても簡単です。xargsについては、下記のウェブページに詳細があります。
[web] xargs - 68user's page
コメントする