次のようなものは私が後だ何何ですが、私のコードは仕事、私は脱出どんなにしない{}
と+
;
find ./ -maxdepth 1 -type d -name '.*' -exec \
find {} -maxdepth 1 -type f -name '*.ini' -exec \
md5sum \{\} \\; \;
このUnix-&-Linuxの質問を見た後、次のコードが機能することがわかりましたが、それ自体はfindをネストしていません。
find ./ -maxdepth 1 -type d -name '.*' \
-exec bash -c 'for x; do
find "$x" -maxdepth 1 -type f -name "*.ini" \
-exec md5sum \{\} \;; \
done' _ {} \+
find -exec
シェルを呼び出す必要なしにネストする方法はありますか(上記を参照)、その奇抜な引用とエスケープの制約をすべて備えていますか?
または、これは、多くのパラメーターのブレンドを使用して、単一の検索コマンドで直接実行できますか?
find
、しかし、もしfind
これを行うことはできません、なぜされるfind
ので、尊敬(?)ツール-としてファイルを見つけるために使用しますか?...私はfind ./ -maxdepth 2 -path '.*/*.ini' -type f -exec md5sum {} \+
、私の状況ではうまく機能することが続いて見つかりました(jw013の参照-prune
はmanページでこれにつながっています)が、堅牢な方法(一般的に)かどうか疑問に思います。私が必要とするほとんどすべてのことを行ったfind
ように(Linuxの1年未満で)実際に使用したことはないlocate
ので、未知の領域です。
-path
テストでは、私がお勧めするつもりだった正確に何です。これにより、必要なすべての操作を実行できるはずです(Ace Of Baseアソシエーションについてごめんなさい))