多命令Grep
我想搜索一个字符串(目前不是模式),只打印一次匹配的字符串和匹配的行数 常识告诉我必须这样做:多命令Grep,grep,Grep,我想搜索一个字符串(目前不是模式),只打印一次匹配的字符串和匹配的行数 常识告诉我必须这样做: grep -o "APPLICATION=MULTIRING" filename.csv | grep -c "APPLICATION=MULTIRING" 或者这个: grep -o "APPLICATION=MULTIRING" filename.csv | grep -c "" 但不可行。显然-c会终止任何其他命令。。为什么?从实际情况看,你投入的资金表明: 在filename.csv中
grep -o "APPLICATION=MULTIRING" filename.csv | grep -c "APPLICATION=MULTIRING"
或者这个:
grep -o "APPLICATION=MULTIRING" filename.csv | grep -c ""
但不可行。显然
-c
会终止任何其他命令。。为什么?从实际情况看,你投入的资金表明:
在filename.csv中查找“APPLICATION=MULTIRING”,然后查看这些结果并计算发生的次数
试一试
grep-o filename.csv中的“APPLICATION-MULTIRING”| wc-l
如果我没记错的话,这将计算输出的事件
grep-c不会终止其他命令,但将命令管道化到其中意味着它将充当过滤器。类似的东西?--绝对是个便宜的把戏
awk '/APPLICATION=MULTIRING/ {count++} END {print "APPLICATION=MULTIRING", count }' filename.csv
这对我有用。而且,
grep-o
每行给出一个结果。因此,您可以使用wc-l
来计算匹配数,而不是grep-c
。grep-o“APPLICATION=MULTIRING”filename.csv | wc-l只打印外观数,而不打印“APPLICATION=MULTIRING”。仍然不明白为什么。啊,当我键入这个时,@fedorqui似乎说了几乎相同的话。grep-o“APPLICATION=MULTIRING”filename.csv | wc-l只打印外观的数量,而不打印“APPLICATION=MULTIRING”。还是不明白为什么。