トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Unixコマンド:xargs

Last-modified: 2013-08-24 (土) 02:14:21 (2982d)
Top / Unixコマンド:xargs

Unixコマンド:xargs

たとえば以下のコマンドを実施すると。

find /log/kankyou/test -name '11*'|xargs -i -t rm {}

{}の中に、find文の結果が代入されて、以下のようなコマンドが実行されます。

rm /log/kankyou/test/112

rm /log/kankyou/test/111

rm /log/kankyou/test/113

rm /log/kankyou/test/114"

こりゃあ便利だ!

また、例えば「X日以前に作成されてたファイルを削除したい」とかいう場合、やっぱりfindと組み合わせて簡単にできます。

find . -type f -mtime +4 | xargs -i -t rm {}"

この時、findのオプションで「-type f」を入れとかないと、ディレクトリごとまるっと削除されるケースもあるかもしれませんのでご注意を、、、

最近更新されたファイルの「ls -l」が知りたい

こんな感じ。

find /targetdir/ -mtime -2 -print | xargs ls -l {}

あるディレクトリの中にあるディレクトリ内のファイルサイズ合計が知りたい

こんな感じっす。

ls -1 |   xargs du -sh 

こりゃあ便利だw

xargsで並列処理

出来るらしい!そのうち試そう

xargsじゃなくて、GNU Parallelなるものもあるらしい。