我需要搜索一个.txt文件,这只有一个单词在一行中出现两次。因此,如果我有这样的短语:“我今天喂了我的猫,而我的猫很高兴”它会返回1,但只有当这个词在同一行出现两次时。我需要整个文件的行数。我正在使用程序putty在unix中执行此操作。
答案 0 :(得分:2)
grep "cat.*cat" input_file | wc -l
说明:
grep
:what is grep? "cat.*cat"
:在这种情况下,搜索的模式:字面cat
,后跟.*
,其中句点.
表示“匹配任何字符”,以及它由星号*
(0或更多)量化,因此它们一起表示“匹配任意数量的字符”,然后是字面上的另一个cat
input_file
grep
的下一个论点,为了“拯救一只猫”(不要担心“拯救猫”部分,愚蠢的书呆子笑话= p)|
是unix中的管道命令,从grep获取stdout
并将其提供给下一个程序的stdin
,这是...... wc -l
- 调用“字数”程序并使用“line”选项计算行数。答案 1 :(得分:2)
如下:
grep -e "cat.*cat" input | wc -l
答案 2 :(得分:1)
查找并计入一个awk
命令
awk '/cat.*cat/ {a++} END {print a}' file
答案 3 :(得分:0)
基本上:
cat.*cat
如果您只想匹配整个单词,则可能必须为单词边界添加锚点(依赖于工具的语法)。