我遇到与grep相关的双星问题。 我使用的是ubuntu 16.04。
根据我的理解(经过大量研究): grep' a' ** / *应该发现任何' a'在我的目录和所有子目录中的所有文件中(递归地)。
但是,它在我的系统中并没有像那样工作。 这是一个测试: 我的文件目录 .a(包含" a"的文件) ba / a(文件包含"在ba") ba / ca / a(文件包含"在ba中的ca")
grep 'a' *
a:a
ba is a directory
grep 'a' **/*
ba/a:in ba
grep: ba/ca: is a directory
第一种情况很明显,但我期待从第二种情况看到这三个文件......
背后有什么解释?
谢谢, 鲍勃
答案 0 :(得分:1)
grep
与双星没有“关联”。你的shell扩展了这些。
根据您使用的shell以及该shell中的设置,双星可能意味着扩展任意数量的子目录级别。
如果您想递归grep,请使用grep -r
1>}之类的grep -r a .