Você pode ler as linhas de File2
em uma matriz awk indexada e, em seguida, anexá-las às linhas correspondentes de File
awk '
NR==FNR {a[i++]=$0; next}
/^>/ {$0 = $0" "a[j++];}
{print}
' File2 File1
Alternativamente, se você tem o GNU sed (com a extensão R
) você pode tentar
sed '/^>/ R File2' File1 | sed '/^>/ {N;s/\n/ /}'
Se o seu File1
tiver exatamente uma linha adicional para cada linha a ser correspondida, outra opção pode ser duplicar o espaço File2
e, em seguida, paste
os arquivos juntos
sed 'G' File2 | paste -d ' ' File1 -
embora isso resulte em um espaço posterior adicional nas linhas não correspondentes; Se isso não for desejado, você poderá inserir um espaço no início de cada linha File2
e paste
sem um delimitador
sed 's/^/ /; G' File2 | paste -d '' File1 -