SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【linux】findで抽出したファイルをtarで圧縮するコマンド

問題

findで抽出したファイルをtarで圧縮できる?

これだとfindで最後に引っかかったファイルしか圧縮されなかった。

find ./ -mtime -10 | tar zcvf hogehoge.tar.gz

答え

xargsを使う。

find ./ -mtime -10 | xargs tar zcvf hogehoge.tar.gz

xargsはなかなか優れものらしく、検索するといろいろな使い方が見つかる。

かしこいなあと思わせてくれるのが、こんな場合。

find . -name \*~ | xargs rm

find . -name \*~ -exec rm {} \; すると、ファイルの数だけrmプロセスが起動、終了するところを、xargsでは引数の最大長を考慮して引数にぎりぎりいっぱいまで渡してくれて、rmする回数を激減させてくれる。

関連するメモ

コメント