find(ラスト)

12

Click here to load reader

Upload: akitsukada

Post on 24-May-2015

1.619 views

Category:

Technology


1 download

DESCRIPTION

6/12コマンドなんでも読書会で発表したfindコマンド資料

TRANSCRIPT

Page 1: Find(ラスト)

find(ラスト)2011.6.12

コマンド何でも読書会つかだあきひろ

2011年6月12日日曜日

Page 2: Find(ラスト)

•関係するオプション•-exec•-execdir•-ok•-okdir

execplusfind … -exec … {} +

2011年6月12日日曜日

Page 3: Find(ラスト)

•-exec utility {} +•-exec({} ¥;)と同じですが、各utilityの起動において`{}’は、なるべく多くのパス名と置き換えられます。(manより)

execplus“{} ¥;”との違い

2011年6月12日日曜日

Page 4: Find(ラスト)

•-exec utility {} ¥;•findの結果数分、utilityが起動されます

•-exec utility {} +•utilityが起動されるのは一度だけです

execplus“{} ¥;”との違い

2011年6月12日日曜日

Page 5: Find(ラスト)

•関係するオプション•-exec•-execdir•-ok•-okdir

execplusfind … -exec … {} +

2011年6月12日日曜日

Page 6: Find(ラスト)

•execオプションのPLANは最後にまとめて実行される

•途中で-printとか入れてみると分かりやすい

ポイント-exec {} + -print -exec {} +

2011年6月12日日曜日

Page 7: Find(ラスト)

• $ ls *mycmd.sh # ←渡された引数の数と引数を表示するtmp:a b c

• $ find tmp/ ¥-exec ./mycmd.sh 1 {} + ¥-exec ./mycmd.sh 2 {} + ¥-exec ./mycmd.sh 3 {} +

• 引数の数:5個3 tmp/ tmp//a tmp//b tmp//c 引数の数:5個2 tmp/ tmp//a tmp//b tmp//c引数の数:5個1 tmp/ tmp//a tmp//b tmp//c

実行例(Macの場合ですが)

2011年6月12日日曜日

Page 8: Find(ラスト)

• $ find tmp/ ¥-exec ./mycmd.sh 1 {} + ¥-exec ./mycmd.sh 2 {} + ¥-exec ./mycmd.sh 3 {} + -print

• tmp/tmp//atmp//btmp//c引数の数:5個3 tmp/ tmp//a tmp//b tmp//c 引数の数:5個2 tmp/ tmp//a tmp//b tmp//c引数の数:5個1 tmp/ tmp//a tmp//b tmp//c

実行例(Macの場合ですが)

2011年6月12日日曜日

Page 9: Find(ラスト)

• $ find tmp/ ¥-exec ./mycmd.sh 1 {} + ¥-exec ./mycmd.sh 2 {} + ¥-exec ./mycmd.sh 3 {} +

• 引数の数:5個1 tmp/ tmp/c tmp/a tmp/b引数の数:5個2 tmp/ tmp/c tmp/a tmp/b引数の数:5個3 tmp/ tmp/c tmp/a tmp/b

実行例(Debianの場合ですが)

2011年6月12日日曜日

Page 10: Find(ラスト)

• $ find tmp/ ¥-exec ./mycmd.sh 1 {} + ¥-exec ./mycmd.sh 2 {} + -print ¥-exec ./mycmd.sh 3 {} +

• tmp/tmp/atmp/btmp/c引数の数:5個1 tmp/ tmp/c tmp/a tmp/b引数の数:5個2 tmp/ tmp/c tmp/a tmp/b引数の数:5個3 tmp/ tmp/c tmp/a tmp/b

実行例(Debianの場合ですが)

2011年6月12日日曜日

Page 11: Find(ラスト)

•exec {} + (ok {} +も)はすべて後回しにされて最後にfinish_execplusでまとめて処理されるんだよ!

•Ω ΩΩ<な、なんだってー

つまり

2011年6月12日日曜日

Page 12: Find(ラスト)

•exec {} + (ok {} +も)はすべて後回しにされて最後にまとめて処理されるんだよ!

•これってFreeBSDでもそうですよね?(すいません)

つまり

2011年6月12日日曜日