awk用于不同的场景

时间:2017-07-13 17:14:46

标签: bash awk

我目前正在尝试使用基于输入生成字符串的解决方案。

当我执行函数

cat text | awk '{printf("%s global\n", $1);}'

其中的文字是

0_0_0_0_1_1_1_1 NO NO NO NO YES YES YES YES

,输出

0_0_0_0_1_1_1_1 global

这是正确的,但在某些情况下,文字可以是

K_0_0_0_0_1_1_1_1 NO NO NO NO YES YES YES YES

在这种情况下,以下命令不起作用,因为输出应为

K_0_0_0_0_1_1_1_1 Kai

如何让awk知道何时输出Kai或全局?

1 个答案:

答案 0 :(得分:3)

您可以使用条件print

awk '{print $1, ($1 ~ /^K_/ ? "Kai" : "global")}' file

0_0_0_0_1_1_1_1 global
K_0_0_0_0_1_1_1_1 Kai