【发布时间】:2019-08-02 17:28:54
【问题描述】:
在grep 的手册中,我们有-o 打印--only-matching 模式。假设echo foobar | grep foo 将返回foobar,但将-o 添加到grep 只会得到foo。
-P、-c 等许多 grep 选项可以与 git 结合使用,以搜索 Git 索引中的所有文件。但是,git grep -o PAT 会触发 error: unknown switcho'`。
如何为 Git 索引中的每个文件只打印匹配的字符串?即“git grep -o PAT”
我的审判:
for f in `git ls-files`; do grep -o PAT $f; done
【问题讨论】:
-
你应该避免使用旧的和不推荐使用的反引号,使用这样的括号:
for f in $(git ls-files); do grep -o PAT $f; done*.com/questions/4708549/…