加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:01:38 所属栏目:百科 来源:网络整理
导读:我一直在努力想出一个更简单的答案来解决这个问题.但仍然使用grep. 我想要查看myfile.dat的正(和负数). Myfile.dat看起来像这样: -1.4987 4.1354 -8.12354.2322 -0.9842 -2.68453.6845 1.5132 -2.84520.0122 9.3542 -1.2354-7.2127 -1.1253 -4.39670.3535 7
我一直在努力想出一个更简单的答案来解决这个问题.但仍然使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读