Faça o operador ternário escolher apenas o arquivo, não o redirecionamento:
awk -F',' '{print >(($1==$2)?"success.txt": "failed.txt")}'
Como o título diz, qual é a sintaxe do Ternary no comando awk
para gravar um arquivo quando a condição é vista?
Abaixo, estou tentando, mas obtendo erro de sintaxe para determinadas entradas!
Dados da amostra de entrada infile.txt
:
1,1,c
0,3,b
0,0,a
1,5,z
1,5,y
5,5,x
O comando:
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
Eu posso usar if/else
, mas quero saber o mesmo com a possibilidade de sintaxe Ternary e talvez onde estou usando o redirecionamento >
errado?
awk -F',' '{if ($1==$2) print >"success.txt";else print >"failed.txt"}' infile.txt
Tags awk