I am trying to replace an existing header in a file based on the contents of another file.
File1 - names.in:
name1 name2 name3 name4 name5
chr begin end genes genes genes genes genes
File2 contains more lines but I want to replace each occurrence of the string
genes in the first line with the successive entries from
file1, so that the header becomes:
chr begin end name1.Corrected name2.Corrected name3.Corrected name4.Corrected name5.Corrected
I tried the following script:
genenames=$1 sed -i -e "1s/\tgenes/\t$genenames\.Corrected/g" Datafile.tsv
But when I run it like so:
I get the output as:
chr begin end .in.Corrected .in.Corrected .in.Corrected .in.Corrected .in.Corrected
I can understand that the script does not read from the input.