Regex 在bash中显示多个文件的特定字数
所以我试图编写一个程序,计算一个单词在某个文件中出现的实例数。我能够找到多少次一个字,一个文件,由Regex 在bash中显示多个文件的特定字数,regex,bash,arguments,word-count,Regex,Bash,Arguments,Word Count,所以我试图编写一个程序,计算一个单词在某个文件中出现的实例数。我能够找到多少次一个字,一个文件,由 a=`grep -c $1 Samplefile.txt` echo "you matched: $a times for word $1 " 如何对多个文件执行此操作。 我开始工作的第一件事是使用 (程序1字文件)。下一个要求需要我能够为输入执行Program2 word file1 file2只需使用shel glob使grep运行多个文件: grep -c "$1" *.txt 这里,这
a=`grep -c $1 Samplefile.txt`
echo "you matched: $a times for word $1 "
如何对多个文件执行此操作。
我开始工作的第一件事是使用
(程序1字文件)。下一个要求需要我能够为输入执行Program2 word file1 file2只需使用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
如果我只想运行2个文件,而目录中有3个文件,会发生什么。所以我有文件XXX file YYY和文件ZZZ,但我只想对文件XXX和YYY运行它。在这种情况下,您可以运行两次grep作为
grep-c“$1”XXX
和grep-c“$1”yyyy
,所以只需使用for循环?程序怎么知道只做两次呢?该程序应该处理您是键入prog1 word文件还是prog1 word文件1 file2。还要提前感谢您的所有意见!!有关如何仅为2个文件运行for循环的已编辑代码,请参见。现在已经很晚了,我只会在早上查看更多的评论。