我正在一个文件中写莎士比亚的十四行诗。我试图在文件中查找一个字符串;玫瑰"以及";玫瑰";。
首先,我构造了一个命令来查找sonnets.txt文件中的行号;玫瑰;出现时,命令如下:
~$ grep rose sonnets.txt | wc
产量为10。
然后,我尝试执行一个命令,该命令显示包含字符串"的行数;玫瑰"将区分大小写的grep用于";玫瑰";,如下所示:
~$ grep -i rose sonnets.txt | wc
产量为12。
这意味着";玫瑰"是2。但在运行了一个命令后,它说有3个。经过分析,我发现;玫瑰"以及";玫瑰;字符串在同一行中。
你能帮我一个命令吗;玫瑰"但不匹配";玫瑰;等于预期的2。
使用管道过滤掉同时包含这两个行的行。
grep Rose sonnets.txt | grep -v rose | wc -l
如果您只想计数,也可以将-c
选项用于grep
。
grep Rose sonnets.txt | grep -v -c rose