Linuxコマンドの覚書(自分用)です。

findコマンドのコマンド実行オプション-exec command ;-exec command +の違いについて。

-exec command ;

findでマッチしたファイルを一つ一つコマンドで実行する。
{}はマッチしたファイル名に置き換えられる。

$ ls
filea  fileb  filec

とした場合、

$ find . -type f -exec echo {} \;
./fileb
./filea
./filec

となる。

\;となっているのは、コマンドの区切り記号”:”として処理されないようにエスケープしている。

-exec command {} +

find でマッチしたファイルを、コマンドの後ろに追加していく。
また、上記同様、{}はマッチしたファイル名に置き換えられる。

上記と同じフォルダであれば、

$ find . -type f -exec echo {} +
./fileb ./filea ./filec

となる。

カテゴリー: Linuxコマンド

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。