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 .