正则表达式 – grep模式从文件中排除负数

前端之家收集整理的这篇文章主要介绍了正则表达式 – grep模式从文件中排除负数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在努力想出一个更简单的答案来解决这个问题.但仍然使用grep.

我想要查看myfile.dat的正(和负数). Myfile.dat看起来像这样:

-1.4987 4.1354  -8.1235
4.2322  -0.9842 -2.6845
3.6845  1.5132  -2.8452
0.0122  9.3542  -1.2354
-7.2127 -1.1253 -4.3967
0.3535  7.2416  -3.1277

无需保留列格式.
所以我使用了以下grep模式.

负数:

grep -E -o [-][0-9]+.[0-9]+ myfile.dat

正数(这里我必须将所有数字输入另一个grep):

grep -Eo [-]\?[0-9]+.[0-9]+ myfile.dat | grep -v [-]

这是问题所在!
是否有grep模式允许我直接提取正数,而不使用第二个grep命令?

这完全是关于模式,而不是我是否可以使用另一个命令.

解决方法

使用grep -P可以执行此操作以获取所有正数:

grep -oP '(?<!-)\b[0-9]+\.[0-9]+\b' file

猜你在找的正则表达式相关文章