如何使用以字母 a 开头的文件名在目录中的文件中找到字符串。我还想从grep
运行中获取此字符串出现的次数。
我试过这个
cat * | grep -c
字符串,但它会搜索所有文件。我只想搜索以字母 a 开头的文件
答案1
grep -c string a*
答案2
grep -c string a*
答案3
替代方法为您提供了“寻找' 命令:
查找 . -name “a*” | xargs grep -c 字符串
答案4
正如其他人所说,您的基本解决方案是:
grep -c string a*
您说您想对文件进行排序并列出额外信息。
您无法使用 grep 获得所有这些内容,但是如果您不担心效率并且文件没有空格或其他奇怪的字符,则可以使用 ls 完成部分操作:
ls -tr `grep -l string a*` | while read file; do
grep -c string "$file" | tr '\n' '\t'
ls -l "$file"
done
反引号中的第一个 grep 搜索匹配的文件,仅列出名称。然后第一个 ls 按修改时间反向排序。然后我们再次搜索每个文件以计算出现次数,并将计数添加到标准“ls -l”列表的前面。
这会很慢;如果你真的需要一个更快的版本,你可以用脚本语言来破解一个。