如何使用find來獲取所有沒有.git文件夾的文件夾?使用find來獲取所有沒有.git子文件夾的文件夾
在這種結構::
$ tree -a -d -L 2
.
├── a
│ └── .git
├── b
│ ├── b1
│ └── b2
├── c
└── d
└── .git
├── lkdj
└── qsdqdf
這::
$ find . -name ".git" -prune -o -type d -print
.
./a
./b
./b/b1
./b/b2
./c
./d
$
得到git的除外
的所有文件夾,我想獲得這個::
$ find . ...
.
./b
./b/b1
./b/b2
./c
$
我認爲沒有辦法做到「純粹」,但下面的答案是確切的。 – linuxfan
另外 - 請注意換行符分隔的文件列表不一定是安全的:如果有人運行'mkdir -p ./$'\ n'/ etc/passwd',這取決於您的'find'的確切版本和它的'-print'的實現,你可以在你的輸出列表中獲得'/ etc/passwd'。這種不明確性是'find -print0'的很大動機,儘管符合POSIX的'find -exec'也可以用來從'find'中獲得確切的名字(字面換行符,控制序列和全部)。 –