2017-06-13 114 views
0

我正试图在本地机器上找到所有git存储库的列表。我得到所有的人,但我也得到了一些库具有权限的输出否认从find(shell)命令中删除一些输出行

find . -name .git -type d -prune | sed '/Permission/d' 

命令的输出是

find: ./.Trash/Fuze_old.app/Contents/Frameworks/Fuze Helper.app: Permission denied 
./.nvm/.git 
./.oh-my-zsh/.git 
./.Trash/AutoLayout/.git 
./.Trash/DemoProject/.git 
find: ./Library/Python: Permission denied 
./.Trash/NavView/.git 
./.Trash/Something/.git 
./.zsh/zsh-autosuggestions/.git 

我不想拒绝权限的线条。

我该怎么做?

+1

那些可能会去stderr,你可以用'2>/dev/null'丢弃它们。 –

+1

可能的重复[如何排除所有“权限被拒绝”消息从“查找”?](https://stackoverflow.com/questions/762348/how-can-i-exclude-all-permission-denied-messages-从-FIND) –

回答

4

“权限被拒绝”行可能在STDERR而不是STDOUT上,这就是为什么您的sed命令无效。试试这个(如果你使用的是类Unix系统):

find . -name .git -type d -prune 2>/dev/null