我现在有一个用制表符分隔的文件,我试图将第三列增加0.05。
例子:

2999    comp  .20

2993    EE    .10

2949    CS    .17

2799    CE    .30

我希望得到以下结果:
2999    comp  .25

2993    EE    .15

2949    CS    .22

2799    CE    .35

到目前为止,我尝试使用awk '{sub(/[[:digit:]]+$/,$NF+.05)}1' filename.txt返回以下内容:
2999    comp  .0.3

2993    EE    .0.2

2949    CS    .0.27

2799    CE    .0.4

在将数字递增一个十进制数的同时保留格式的正确方法是什么?

最佳答案

如果要在列之间保持TAB,请输入以下代码:

awk -v OFS='\t' '$3+=0.05' [Your_File]

输出为:
2999    comp  .25
2993    EE    .15
2949    CS    .22
2799    CE    .35

关于linux - 如何使用awk/sed增加文件中数字的匹配模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48614922/

10-11 19:32