web-dev-qa-db-ja.com

Linuxで特定のパターンに一致するすべてのディレクトリとサブディレクトリを検索(または除外)するにはどうすればよいですか?

Linuxのfindコマンドを使用して、パスに.svn(Subversion隠しフォルダー)がないすべてのディレクトリとサブディレクトリを検索しようとしています。実際の.svnディレクトリ自体を除外するためだけに取得できますが、サブディレクトリは除外できません。

これが私が今やっていることです:

find . -type d \! -iname '*.svn*'

私も試しました:

find . -type d \! iname '.svn' \! iname '.svn/*'

参考までに、findパターンを使用して、Subversionの隠しフォルダとそのサブディレクトリを除くリポジトリ内のすべてのディレクトリにいくつかのSubversionプロパティを適用できるようにしています(findコマンドから返されたディレクトリにexecコマンドを適用することによって) )。

TIA

17
Jason Down
find . -type d -not \( -name .svn -Prune \)
25
Dan Carley

単純にどうですか

find . -type d |  grep -v '.svn'
6
wazoox

-pathオプションを検索しますか?

find . -type d ! -path '*.svn*'
6
Rory

あなたは使うことができます:

find . -type d -not -wholename '*.svn*' 
2
TechFriend

見つける。 -path './tmp' -Prune -o .......

2
Cameron