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)