命令中的三元语法是什么awk
,以便在看到条件时写入文件?
下面我正在尝试,但给定输入出现语法错误!
输入样本数据infile.txt
:
1,1,c
0,3,b
0,0,a
1,5,z
1,5,y
5,5,x
命令:
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
我可以使用if/else
,但想知道三元语法的可能性,也许我在哪里使用了重定向>
错误?
awk -F',' '{if ($1==$2) print >"success.txt";else print >"failed.txt"}' infile.txt
答案1
使三元运算符仅选择文件,而不选择重定向:
awk -F',' '{print >(($1==$2)?"success.txt": "failed.txt")}'