匹配后的Grep数字
我想在匹配后将括号内的数字变灰 给定以下匹配后的Grep数字,grep,Grep,我想在匹配后将括号内的数字变灰 给定以下foo.txt foo: "32.1" bar: "42.0" misc: "52.3" 我想提取条形图后面的数字,42.0 下一行将匹配,但我想提取数字。我想我可以通过管道将输出返回到grep中,查找\d+。\d+,但是有更好的方法吗 grep -o -P 'bar: "\d+.\d+"' foo.txt 一种方法是使用“向前看”和“向后看”断言: grep -o -P '(?<=bar: ")\d+.\d+(?=")' 一种方法是使用“向前
foo.txt
foo: "32.1" bar: "42.0" misc: "52.3"
我想提取条形图后面的数字,42.0
下一行将匹配,但我想提取数字。我想我可以通过管道将输出返回到grep中,查找\d+。\d+
,但是有更好的方法吗
grep -o -P 'bar: "\d+.\d+"' foo.txt
一种方法是使用“向前看”和“向后看”断言:
grep -o -P '(?<=bar: ")\d+.\d+(?=")'
一种方法是使用“向前看”和“向后看”断言:
grep -o -P '(?<=bar: ")\d+.\d+(?=")'
您也可以使用下面的grep
$ echo 'foo: "32.1" bar: "42.0" misc: "52.3"' | grep -oP 'bar:\s+"\K[^"]*(?=")'
42.0
您也可以使用下面的grep
$ echo 'foo: "32.1" bar: "42.0" misc: "52.3"' | grep -oP 'bar:\s+"\K[^"]*(?=")'
42.0
令人惊叹的!我不知道这些。:-)关于Perl中的前瞻和后顾断言的更多信息可以在这里找到:真棒!我不知道这些。:-)有关Perl中的前瞻和后顾断言的更多信息,请参见: