【问题标题】:Remove some lines of output from find(shell) command从 find(shell) 命令中删除一些输出行
【发布时间】:2017-11-15 08:42:29
【问题描述】:

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

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

我不想要 Permission denied 的行。

我如何得到它?

【问题讨论】:

标签: git bash shell


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 2017-03-01
    • 2021-02-16
    • 1970-01-01
    • 2015-09-07
    • 2021-01-04
    • 1970-01-01
    相关资源
    最近更新 更多