如何在 awk 中使用三元运算符写入文件?

αғs*_*нιη 5 awk

awk为了在看到条件时写入文件,命令中的三元语法是什么?

下面我正在尝试,但给定输入出现语法错误!

输入样本数据infile.txt

1,1,c
0,3,b
0,0,a
1,5,z
1,5,y
5,5,x
Run Code Online (Sandbox Code Playgroud)

命令:

awk -F',' '{print (($1==$2)?>"success.txt": >"failed.txt")}' infile.txt
awk: {print (($1==$2)?>"success.txt": >"failed.txt")}
awk:                  ^ syntax error
awk: {print (($1==$2)?>"success.txt": >"failed.txt")}
awk:                                                ^ syntax error
Run Code Online (Sandbox Code Playgroud)

我可以使用if/else,但想知道与三元语法相同的可能性,也许我在哪里使用重定向>错误?

awk -F',' '{if ($1==$2) print >"success.txt";else print >"failed.txt"}' infile.txt
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 11

使三元运算符只选择文件,而不是重定向:

awk -F',' '{print >(($1==$2)?"success.txt": "failed.txt")}'
Run Code Online (Sandbox Code Playgroud)