
これは次のようによく似ています。これ質問がありますが、さらに進むべきです。私はSynologyドライブを使用しており、@eaDir
無視したい多数のディレクトリ(およびそのディレクトリのファイル)があります。どうすればいいですか?
これは隠されたファイル(私が望むもの)にうまく機能する再帰コマンドです。しかし、ディレクトリ名を除外するにはどうすればよいですか@eaDir
?
find .//. ! -name . -print | grep -c //
答え1
指定したディレクトリに移動したくない場合は、beforeを@eaDir
使用しないでください。!
-name
mkdir -p a/@eaDir
mkdir -p b/c/@eaDir
mkdir -p d/e/f
touch a/@eaDir/xxx
touch b/yyy
touch b/c/@eaDir/xxx
touch d/e/f/yyy
find . -name '@eaDir' -prune -o -print
あなたに与えるでしょう:
.
./b
./b/yyy
./b/c
./a
./d
./d/e
./d/e/f
./d/e/f/yyy
そして
find .//. -name '@eaDir' -prune -o -print | grep -c //
あなたに与えるでしょう:9
名前が一致する場合は、-name '@eaDir'
下のツリーの残りの部分をスキップし('-prune')、そうでない場合は名前を印刷します(-o -print
)