ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< December 2019 >>
ARCHIVES
CATEGORIES
<< よく使うツール | main | Cyberduck >>
「find」と「xargs」
 ひとつのディレクトリにある大量ファイルの中から特定のファイルを削除する作業を行いました。

「find」と「xargs」を使いました。
まず「find」で削除するファイルの条件を書きます。

find ./ -maxdepth 1 -mindepth 1 -name 'H17-*' -type d
直下ディレクトリで階層はそこだけ検索、ファイル名が「H17-」で始まるディレクトリ。

「find」で取得されたファイルを削除コマンドに渡します。ここで「xargs」を使います。
「xargs」は、標準入力から引数を読み込み、指定のコマンドを実行するコマンドです。

find ./ -maxdepth 1 -mindepth 1 -name 'H17-*' -type d | xargs rm -f -r -v

大量にファイルがあると時間がかかるので、rmコマンドのオプション「-v」を指定して
ファイル削除の途中経過を表示します。

圧縮するときも同じように使えます。便利ですね。
find ./ -maxdepth 1 -mindepth 1 -name 'H17-*' | xargs tar zcvf ./H17.tar.gz
| linuxコマンド | 14:38 | comments(0) | - |
コメント
コメントする