我有一个文件,其中第4列有数字。
如果第4列大于2,我想添加第5列,对应slice
;否则,第5列将包含字符串gain
。
输入
loss
期望的输出:
1 762097 6706109 6
1 7202143 7792617 3
1 8922949 9815420 1
1 10502346 11074110 3
1 11188922 12267136 1
1 12566829 13910626 3
我应该如何用awk做到这一点?
答案 0 :(得分:2)
像这样使用awk
:
$ awk '{print $0, ($4>2?"gain":"lose")}' file
1 762097 6706109 6 gain
1 7202143 7792617 3 gain
1 8922949 9815420 1 lose
1 10502346 11074110 3 gain
1 11188922 12267136 1 lose
1 12566829 13910626 3 gain
如您所见,它正在打印整行($0
)后跟一个字符串。该字符串由$4
使用三元运算符确定。