我需要找到一个以$开头的模式,后跟两个数字,一个不是数字的单个字符,以及其他任何内容。
我知道如何找到一个以美元符号开头的模式,然后是两个数字,但我无法弄清楚如何检查一个不是数字的字符。
我还需要计算这种模式有多少行。
到目前为止,我有这个:
grep -Ec '\$[0-9][0-9].....
我不知道该怎么做。有人可以帮忙吗?任何帮助将不胜感激。
答案 0 :(得分:1)
插入符号反转选择组,因此如果[0-9]
为“匹配任何数字”,则[^0-9]
为“匹配任何非数字”。
答案 1 :(得分:1)
您可以尝试使用此正则表达式\$[0-9][0-9][^0-9].*
\$[0-9][0-9][^0-9].*
答案 2 :(得分:0)
我会第二个@realspirituals回答,如果你需要计算这个模式有多少行,你可以通过管道到grep
来计算输出的行数wc -l
。为了显示线条并一举计算它们,像这样管道输出
grep "\$[0-9]{2}[^0-9].*" | tee >(wl -l)
tee
将在wl
和STDOUT
之间拆分输出。 {2}
会导致之前的[0-9]
匹配两次。