use*_*410 5 regex bash shell 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
Run Code Online (Sandbox Code Playgroud)
无需保留列格式.所以我使用了以下grep模式.
负数:
grep -E -o [-][0-9]+.[0-9]+ myfile.dat
Run Code Online (Sandbox Code Playgroud)
正数(这里我必须将所有数字输入另一个grep):
grep -Eo [-]\?[0-9]+.[0-9]+ myfile.dat | grep -v [-]
Run Code Online (Sandbox Code Playgroud)
这是问题所在!是否有grep模式允许我直接提取正数,而不使用第二个grep命令?
这完全是关于模式,而不是我是否可以使用另一个命令.
使用grep -P你可以这样做来获得所有正数:
grep -oP '(?<!-)\b[0-9]+\.[0-9]+\b' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3021 次 |
| 最近记录: |