はのは、私がtest/2
のものを除くtest/
内のすべてのファイルを見つけるにはどうすればよいのでfindで-notを使用するには?
mkdir -p test/1
mkdir -p test/2
mkdir -p test/3
touch test/1/touch
touch test/2/touch
touch test/3/touch
のようなディレクトリ構造を持っているとしましょうか?
はのは、私がtest/2
のものを除くtest/
内のすべてのファイルを見つけるにはどうすればよいのでfindで-notを使用するには?
mkdir -p test/1
mkdir -p test/2
mkdir -p test/3
touch test/1/touch
touch test/2/touch
touch test/3/touch
のようなディレクトリ構造を持っているとしましょうか?
別短い検索の変異体である:
find test ! -path "test/2*"
OUTPUT
test
test/1
test/1/touch
test/3
test/3/touch
使用-prune
は:
find test -path 'test/2' -prune -or -print
それは私のために働くが、少し説明できますか?私は個人的に 'find 'に問題があり、そのようなもの(' - または--print')は時々動作します... –
@DanFego:私は ' 'find'マンページの例を参照してください。 – thiton
それはちょうど私を打つOhhhhhhh。パスが '' test/2''の場合、 'true && true || 'print'は発生しません。そうでなければ 'false && true ||この場合は印刷されます。 –
検索ディレクトリの除外のためのいくつかのgood examples hereあります。
あなたは、このよう-not
を使用することができます。これを成し遂げるために
find -not -wholename './test/2*'
'。/ test/20 'とそのサブディレクトリは表示されません。 –
@DanFego:はい。 9つ以上のサブディレクトリがある場合は、01,02 ... :-)という名前にする必要があります – choroba
touche!誰かがこれを見つけて、すべてのディレクトリの名前を変更する方法について質問をします。 :P –
が良いかもしれませんServerfaultまたはUnixとLinux。 –