如何使用awk添加具有特定字符串的列,具体取决于第4列

时间:2015-04-23 10:33:40

标签: awk sed grep

我有一个文件,其中第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做到这一点?

1 个答案:

答案 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使用三元运算符确定。