Regex 使用grep查找以$

Regex 使用grep查找以$,regex,linux,unix,grep,Regex,Linux,Unix,Grep,我需要找到一个模式,它以$开头,后跟两个数字,一个不是数字的字符,以及其他任何字符 我知道如何找到一个以美元符号开头,后跟两个数字的模式,但我不知道如何检查一个不是数字的字符 我还需要计算有多少行有这种图案 到目前为止,我有: grep -Ec '\$[0-9][0-9]..... 我不知道该怎么办。有人能帮忙吗?任何帮助都将不胜感激。插入符号反转选择组,因此如果[0-9]是“匹配任何数字”,则[^0-9]是“匹配任何非数字”。插入符号反转选择组,因此如果[0-9]是“匹配任何数字”,则[^0

我需要找到一个模式,它以$开头,后跟两个数字,一个不是数字的字符,以及其他任何字符

我知道如何找到一个以美元符号开头,后跟两个数字的模式,但我不知道如何检查一个不是数字的字符

我还需要计算有多少行有这种图案

到目前为止,我有:

grep -Ec '\$[0-9][0-9].....

我不知道该怎么办。有人能帮忙吗?任何帮助都将不胜感激。

插入符号反转选择组,因此如果
[0-9]
是“匹配任何数字”,则
[^0-9]
是“匹配任何非数字”。

插入符号反转选择组,因此如果
[0-9]
是“匹配任何数字”,则
[^0-9]
是“匹配任何非数字”.

您可以尝试此正则表达式
\$[0-9][0-9][^0-9].

\$[0-9][0-9][^0-9].*

  • \$与字符$完全匹配
  • [0-9]匹配下表中的单个字符。 0-9范围在0到9之间的单个字符
  • [0-9]匹配下表中的单个字符。 0-9范围在0到9之间的单个字符
  • [^0-9]匹配下表中不存在的单个字符。 0-9范围在0到9之间的单个字符
  • *匹配任何字符(换行符除外) 量词:*在零次和无限次之间,尽可能多地,根据需要回馈[贪婪]

您可以尝试此正则表达式
\$[0-9][0-9][^0-9].

\$[0-9][0-9][^0-9].*

  • \$与字符$完全匹配
  • [0-9]匹配下表中的单个字符。 0-9范围在0到9之间的单个字符
  • [0-9]匹配下表中的单个字符。 0-9范围在0到9之间的单个字符
  • [^0-9]匹配下表中不存在的单个字符。 0-9范围在0到9之间的单个字符
  • *匹配任何字符(换行符除外) 量词:*在零次和无限次之间,尽可能多地,根据需要回馈[贪婪]

我会支持@realspirituals的回答,如果您需要计算有多少行具有此模式,您可以通过管道连接到
wc-l
来计算有多少行
grep
输出。为了一次显示行数和一次计算行数,请按如下方式进行输出

grep "\$[0-9]{2}[^0-9].*" | tee >(wl -l)

其中
tee
将在
wl
STDOUT
之间分割输出<代码>{2}将导致先前的
[0-9]
匹配两次。

我会支持@realspirituals回答,如果您需要计算有多少行具有此模式,您可以通过管道连接到
wc-l
来计算有多少行
grep
输出。为了一次显示行数和一次计算行数,请按如下方式进行输出

grep "\$[0-9]{2}[^0-9].*" | tee >(wl -l)
其中
tee
将在
wl
STDOUT
之间分割输出<代码>{2}将导致先前的
[0-9]
匹配两次