我从curl中得到了一个grep's字符串,我想根据其内容来总结其中的行。
e。 G。 输入
SomethingA v2.3
SomethingA v2.4
SomethingElse v1.1
SomethingElse v1.2
输出
SomethingA 2
SomethingElse 1
输出中的数字不是必须的,但是如果易于实现,将非常好。作为前导空格的“ v”是数字的固定前缀,这些数字不必包含点。
我尝试了echo "$str" | grep -Po '(.*(?<=))v[0-9]'
,但是它仍然包含“ v1” ..而且我不知道如何通过多次匹配来减少前导字符串。
答案 0 :(得分:0)
您可以使用
$ awk '{print $1}' filename | sort | uniq -c | awk '{print $2,$1}'
注意:这还将给出空白行的计数。如果要摆脱这些,请使用:
$ grep -v '^$' filename | awk '{print $1}' | sort | uniq -c | awk '{print $2,$1}'