我有这个脚本 - 它不起作用。我希望脚本返回关键字“关键字”出现两次的所有文件的列表。
#!/bin/bash
for file in * ; do
if [ $(grep 'keyword' $file | wc -l) -eq 2 ]
then
echo $file
fi
done
答案 0 :(得分:3)
使用
grep -c 'keyword' * | sed -n -e '/:2$/s/:2$//p'
答案 1 :(得分:2)
您可能希望使用grep的'-o'选项,它将输出其自己行中的每个匹配项,而不是打印整行。当你在同一行上有2个以上的出现时它也会起作用。
grep -o 'keyword' $file | wc -l
答案 2 :(得分:0)
试试这个:
ls -1 | grep .*keyword.*keyword.*