繁体   English   中英

从find(shell)命令中删除一些输出行

[英]Remove some lines of output from find(shell) command

我正在尝试查找本地计算机上所有git存储库的列表。 我确实得到了所有这些存储库,但是我还得到了一些存储库,这些存储库在输出中拒绝了Permission

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

我不希望“权限”被拒绝。

我怎么得到的?

“拒绝权限”行可能在STDERR而不是STDOUT上,这就是您的sed命令无效的原因。 尝试以下操作(如果您使用的是类似Unix的系统):

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM