Linux 在命令末尾使用星号
我知道在正则表达式中使用星号,但这行末尾的星号是什么意思Linux 在命令末尾使用星号,linux,shell,unix,wildcard,Linux,Shell,Unix,Wildcard,我知道在正则表达式中使用星号,但这行末尾的星号是什么意思 find . -type f | grep -sl 'word' * 我知道我可以使用 find . -type f | xargs grep -sl 'while' 末尾的星号*用于按字典顺序检入目录中的文件列表。在末尾使用*意味着整个目录,因此该命令接受find的输出,并按字母顺序将其作为参数赋予grep?@DPosnas No.find输出被忽略grep仅在被告知的情况下使用stdin-这可以通过根本不提供任何文件或提供-作为文
find . -type f | grep -sl 'word' *
我知道我可以使用
find . -type f | xargs grep -sl 'while'
末尾的星号
*
用于按字典顺序检入目录中的文件列表。在末尾使用*意味着整个目录,因此该命令接受find的输出,并按字母顺序将其作为参数赋予grep?@DPosnas No.find
输出被忽略grep
仅在被告知的情况下使用stdin-这可以通过根本不提供任何文件或提供-
作为文件名来实现。因此grep
是否迭代当前目录以获取文件名并检查模式?否(在此调用中,grep
不迭代当前目录);shell将*
扩展为文件名的排序列表grep
只读取给定的文件名列表。如果您有-r
选项,则grep
将扫描目录。您仍然在浪费find
查找姓名的精力。用+
检查-exec
选项和xargs
(和-print0
和-0
)。有很多答案,涵盖了所有这些。