我有一些文本文件。我需要在每个文件的第二列和第四列之间进行减法。减去的值应作为第五列打印到原始文件。我怎样才能用 awk 或 sed 做到这一点?
HII 62.0 HII 35.1
MEE 21.3 MEE 21.3
GLL 42.3 GLL 18.5
ASS 105.9 ASS 105.9
RRG 65.6
GLL 48.3
SES 83.5
Desired output
HII 62.0 HII 35.1 26.9
MEE 21.3 MEE 21.3 0
GLL 42.3 GLL 18.5 23.8
ASS 105.9 ASS 105.9 0
RRG 65.6
GLL 48.3
SES 83.5
Run Code Online (Sandbox Code Playgroud)
如果第三、四栏为空,则无需相减。
awk 'NF == 2 { print }
NF == 4 { print $0, $2 - $4 }'
Run Code Online (Sandbox Code Playgroud)
这些都可以放在一条线上,但是当它分布在两条线上时,它会更清楚它在做什么。
如果您想更好地控制格式,可以使用printf()而不仅仅是print.
在清理数据中的尾随空格后,它会产生:
HII 62.0 HII 35.1 26.9
MEE 21.3 MEE 21.3 0
GLL 42.3 GLL 18.5 23.8
ASS 105.9 ASS 105.9 0
RRG 65.6
GLL 48.3
SES 83.5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3227 次 |
| 最近记录: |