Preciso editar a string "NA" para "Na" somente se ela estiver no 6º campo de um arquivo. Atualmente, posso fazer isso com:
awk '{gsub("NA","Na",$6)}1' $filename
No entanto, preciso da condição adicional de que isso não ocorra se a string "HEM" estiver na mesma linha. Por exemplo, eu gostaria que a linha a seguir permanecesse a mesma:
7353 NA 5.4433 24.4404 -3.0784 NA 456 HEM
Por fim, o comando acima remove o preenchimento extra entre os campos. Se houver um comando que possa fazer isso sem alterar o espaçamento entre os campos, isso seria ótimo, mas esse recurso não é necessário.
Acho que isso poderia ser feito lendo cada arquivo e imprimindo cada linha, e editando apenas com uma instrução if, mas estou tentando evitar algo desajeitado como isso.
Sinto que isso é uma tarefa difícil de fazer de forma simples, mas ficaria super grato se algum mago do Unix soubesse como. Obrigado!