在bash中显示多个文件的某些字数

时间:2014-02-14 22:40:13

标签: regex bash arguments word-count

所以我正在尝试编写一个程序来计算某个文件中某个单词出现在一个文件中的实例数。我可以通过

找到一个单词和一个文件的次数
a=`grep -c $1 Samplefile.txt`
echo "you matched: $a times for word $1 "

我如何为多个文件执行此操作。 我开始工作的第一件事是使用了一个示例输入     (Program1 word文件)。下一个要求需要我能够将Program2 word file1 file2作为输入

1 个答案:

答案 0 :(得分:0)

只需使用shel glob就可以为多个文件运行grep:

grep -c "$1" *.txt

此处grep将针对所有*.txt个文件而非Samplefile.txt

运行

输出将如下:

abc.txt:3
Samplefile.txt:5
xyz.txt:0

或者你也可以在for循环中做同样的事情:

for f in *.txt; do
    grep -Hc "$1" "$f"
done

编辑:根据评论,如果您想为已知的文件集运行,请使用

for f in "XXX" "YYY"; do
    grep -Hc "$1" "$f"
done