Em awk
, o "corpo" deve ter uma sintaxe da seguinte forma:
condition{command}
Quando condition
é atingido command
é feito com a linha atual. Também pode ser:
{command}
... sem um condition
, então será executado para todas as linhas . Isso também é válido:
condition
... sem command
, então awk
apenas imprime $0
, daí a linha inteira, quando condition
é atendido.
Seu awk
deve aparecer:
awk 'BEGIN{print "ID|Name|Designation|Department|Salary";OFS="|"}
$1>200{$1=$1;print} END{print"------------------------"}' file
Observe $1=$1
. Isso é necessário porque você só altera o separador de campo de saída. Portanto, você precisará imprimir os campos um por um ( $1,$2,...
) ou forçar a reconstrução do registro em $n=$n
.