awk 'NR > 1 { for (i = 6; i <= NF; i++) if ($i < 100) $i = "NA" }; 1' yourfile.txt
Expandido com comentários:
NR > 1 { # skipping NR == 1, the first line
for (i = 6; i <= NF; i++) # column 6 to the end, skipping first 5
if ($i < 100) $i = "NA" # self-explanatory
}
1 # print all lines; 1 evaluates to true, and default action is print
Editar: existem várias maneiras de definir OFS
. A maneira mais concisa em que consigo pensar é adicionar OFS='\t'
antes do nome do arquivo.
awk '...' OFS='\t' file.txt
awk -v OFS='\t' '...' file.txt
awk 'BEGIN { OFS="\t" }; ...' file.txt