Day by day


Argument list too long

投稿者: admin, カテゴリー: FreeBSD

大量のファイルを削除だとか移動だとかっていうのはあまり機会がなかったのですが、私にもとうとうその時がやって参りました。
特に気にも留めず、普段通りにディレクトリ内のファイルを全て削除するため*(ワイルドカード)を使ってコマンドを打つと、

/bin/rm: Argument list too long

・・・・・。

なんだよ、なんだよ、チマチマ消してられねぇよっ!ということで調べると、素晴らしいコマンドがありました!
標準入力から渡されたファイル名などを引数とみなして、別のコマンドの引数として起動する xargs さんをご紹介します。
次のコマンドの引数制限ぎりぎりになるよう分割して渡してくれるので、処理も早いとのこと。出来る方です。

# echo /usr/home/kesanaide/* | xargs ls -alp   ← 一応ファイル確認
# echo /usr/home/kesanaide/* | xargs rm ← さようなら~

このコマンド、ファイルを削除するときはいいのですが移動は出来ないかなと思っていたら、出来るんだそうです!
こちらは標準mvではなくGNU mv(GNU coreutilsに含)でオプション -t を使用すると可能になります。

# echo /usr/home/ugokasanaide/* | xargs gmv -t /usr/home/kottikoiyo/

xargs 最高です。
 

コメントを受け付けておりません。

フリースペース

バナーやブログパーツなどを貼って、ご自由にお使いください。