Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex SED:返回的行数_Regex_Bash_Sed_Grep - Fatal编程技术网

Regex SED:返回的行数

Regex SED:返回的行数,regex,bash,sed,grep,Regex,Bash,Sed,Grep,到包含以下文本的文件jungle.txt A lion sleeps in the jungle A lion sleeps tonight A tiger awakens in the swamp The parrot observes Wimoweh, wimoweh, wimoweh, wimoweh 。。。可以执行GREP搜索 $ grep lion jungle.txt $ sed "/lion/p" jungle.txt 。。。或者搜索 $ grep lion jungle.t

到包含以下文本的文件jungle.txt

A lion sleeps in the jungle
A lion sleeps tonight
A tiger awakens in the swamp
The parrot observes
Wimoweh, wimoweh, wimoweh, wimoweh
。。。可以执行GREP搜索

$ grep lion jungle.txt
$ sed "/lion/p" jungle.txt
。。。或者搜索

$ grep lion jungle.txt
$ sed "/lion/p" jungle.txt
。。。在这种情况下,查找模式的出现

是否有一些简单的方法可以获得大量的返回行?或者至少知道发现了不止一个?和往常一样,我先在谷歌上搜索了很多,但令人惊讶的是没有找到答案


谢谢

只需将grep命令输出传递给wc-l命令即可计算返回的行数

$ grep 'lion' file | wc -l
2
来自wc-帮助

grep可以计算匹配行数:

grep -c 'lion' file
输出:

2
语法:


-c:抑制正常输出;而是为每个输入文件打印匹配行的计数。使用-v,-invert match选项(见下文),计算不匹配的行数-c由POSIX指定。

这可能适用于GNU-sed:

sed '/lion/!d' file | sed '$=;d'
或者,如果您愿意:

sed -n '/lion/p' file | sed -n '$='
注意:如果文件为空或第一个sed命令未找到任何内容,则第二个sed命令的结果为空。

您可以使用awk


但我想说的是,最好的解决方案是Cyros使用grep-c‘lion’文件

wc-l来获取行数的方法。可能重复@John1024:这就是我的情况的精确复制。非常感谢。grep-c lion jungle.txt谢谢你,很抱歉错过了显而易见的机会!请允许我在6分钟内接受答案不,只需对grep使用c选项。如果文件中不存在RE,则需要使其打印a+0以打印0,而不是空字符串。@EdMorton更新了post。