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

Unixコマンド:xargs の変更点

Top / Unixコマンド:xargs

*Unixコマンド:xargs [#be69f5ee]

たとえば以下のコマンドを実施すると。
 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」が知りたい [#a2de8655]
こんな感じ。


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


***あるディレクトリの中にあるディレクトリ内のファイルサイズ合計が知りたい [#q45451f7]
こんな感じっす。

 ls -1 |   xargs du -sh 

こりゃあ便利だw

***xargsで並列処理 [#o2fafc5b]

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

-http://d.hatena.ne.jp/tagomoris/20110513/1305267021
-http://blog.netswitch.jp/2010/01/30/using-xargs

xargsじゃなくて、GNU Parallelなるものもあるらしい。
-http://blog.riywo.com/2011/04/19/022802