Если я правильно понимаю, вам необходимо прочитать имена из file1
и заменить каждое вхождение строки genes
последовательными записями из файла1, но только в первой строке файла2 . Если это так, вы можете сделать это (при условии, что у вас никогда не было строки с генами
в качестве подстроки, например mygenes
):
while read name
do
sed -i "1s/genes/$name.Corrected/" file2
done < file1
В качестве альтернативы вы также можете просто объединить содержимое file1 и замените все сразу:
names=$(perl -pe 's/\n/.Corrected /' file1)
sed -i "1s/genes .*/$names/" file2