2017-06-13 30 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