大量のファイルに対して同じ操作を行う

研究をしていると、実験結果を記録したファイルがたくさん生成されます。
これらのファイルに対して、シェルを使って同じ処理を行わせたい時もあると思うんですが、あまりにも対象のファイルが多いと「Arguments too long」というエラーメッセージが出てしまいます。今回は、それに如何にして対処するかを紹介します。

なぜ、このようなエラーメッセージが出るかというと、シェルではコマンドライン引数の長さが決まっているからです。この上限を変更することもできると思うのですが、それをしなくても xarg コマンドを利用することで解決することができます。

# 以下のコマンドをxargsを使って書き換え
# rm *.txt

echo *.txt | xargs rm

こんな感じで置き換えてやると、xargsコマンドが自動的にコマンドライン引数を分割して実行してくれます。慣れるととても簡単です。xargsについては、下記のウェブページに詳細があります。

[web] xargs - 68user's page

Track Back

Track Back URL

コメントする

公開されません

refresh captcha

画像の中に見える文字を入力してください。

このページの上部へ

About

tetsuの日記・雑記です。
日々経験したことを記録していきます。

広告

サイト内検索

最近のピクチャ

  • リアディレーラ

月別アーカイブ

最近のコメント