awk:根据另一列的值打印一列或另一列

awk:根据另一列的值打印一列或另一列,awk,gawk,Awk,Gawk,awk的输入有多个列。 我想根据$z列的值打印$x列或$y列 例如: 输入是 3 2 1 4 5 6 如果第三列为1,我想打印第一列,否则打印第二列 输出应该是 3 5 首先是一些测试数据: $ cat > file 1 2 2 1 2 1 使用条件运算符: $ awk '{print ($3==1?$1:$2)}' file 2 1 如果第三个字段的值为1,则输出第一个字段的值,否则输出第二个字段的值。首先输出一些测试数据: $ cat > file 1 2 2 1 2 1

awk的输入有多个列。 我想根据$z列的值打印$x列或$y列

例如: 输入是

3 2 1
4 5 6
如果第三列为1,我想打印第一列,否则打印第二列

输出应该是

3
5
首先是一些测试数据:

$ cat > file
1 2 2
1 2 1
使用条件运算符:

$ awk '{print ($3==1?$1:$2)}' file
2
1
如果第三个字段的值为1,则输出第一个字段的值,否则输出第二个字段的值。

首先输出一些测试数据:

$ cat > file
1 2 2
1 2 1
使用条件运算符:

$ awk '{print ($3==1?$1:$2)}' file
2
1
如果第三个字段的值为1,则输出第一个字段的值,否则输出第二个字段的值。

使用模式中的语句

awk '{if($3 == 1) {x = 1} else {x = 2}; {print $x}}'
在模式中使用语句

awk '{if($3 == 1) {x = 1} else {x = 2}; {print $x}}'
类似的问题也在讨论和讨论中。但它们打印或不打印一列。我想根据情况打印不同的专栏。类似的问题有和。但它们打印或不打印一列。我想根据条件打印不同的列。