I need your help for doing multiple strings replacement. I have a file with more than 1000 lines and I want to replace several elements in the same run. I have the equivalences written in another file.
To make Don's proposal a bit more flexible, you could introduce a variable for the column. If the header's fields do not contain FS chars, you can omit the extra treatment for line 1:
awk 'BEGIN {FS = OFS = "\t"}
FNR == NR {ID[$1] = $2; next}
$COL in ID {$COL = ID[$COL]}
1
' COL=6 equivalences target
I looked at trying that, but decided against it since the header line contains a mix of spaces and tabs and the spaces around "ID" in the header line cause $6 = ID[$6] to skip the change of "ID" to "RefSeq" in the header.