Yo no creo que haya un programa en la línea de comandos que pueda hacer lo que querés. Sin embargo, eso no quiere decir que no se pueda escribir un programa relativamente simple que lo haga.
Se me ocurre un programa en Python como este:
Código Python:
Ver originalwith open('fichero1.txt') as f1:
lineas1 = f1.readlines()
with open('fichero2.txt') as f2:
for linea in f2:
partes_linea = linea.split('.')
num = int(partes_linea[0]) # obtenemos el número al frente de la línea
resto = '.'.join(partes_linea[1:]) # reconstruimos la línea
# modificamos la línea correspondiente del primer archivo. El -1 es porque los índices comienzan en 0, no en 1
# también eliminamos el salto de línea al final, ya que python los conserva
lineas1[num - 2 - 1] = lineas1[num - 2 - 1].strip() + ' ' + resto
with open('resultado.txt') as f_res:
f_res.write(''.join(lineas1))
A menos que quieras crear, depurar, usar y mantener un programa como el anterior, yo te diría que intentes generar
fichero2.txt de tal manera que las líneas que deben concatenarse tengan el mismo número al frente. Si lo hacés de esa manera, podés usar el programa
join para unirlas:
fichero1.txt
Código:
1. tomates
2. patatas
3. pimientos
4. calabazas
fichero2.txt
Código bash:
Ver original$ join -a 1 fichero1.txt fichero2.txt
1. tomates
2. patatas
3. pimientos verdes
4. calabazas