sed '$s/$/yourText2/' list.txt > _list.txt_ && mv -- _list.txt_ list.txt
Si su sed la implementación admite -i opción, podría usar:
sed -i.bck '$s/$/yourText2/' list.txt
Con la segunda solución también tendrá una copia de seguridad (con la primera deberá hacerlo manualmente).
Alternativamente:
ex -sc 's/$/yourText2/|w|q' list.txt
o
perl -i.bck -pe's/$/yourText2/ if eof' list.txt
Solo usa printf
en cambio, ya que no imprime la nueva línea por defecto:
printf "final line" >> file
Prueba
Creemos un archivo y luego agreguemos una línea adicional sin una nueva línea final. Tenga en cuenta que uso cat -vet
para ver las nuevas líneas.
$ seq 2 > file
$ cat -vet file
1$
2$
$ printf "the end" >> file
$ cat -vet file
1$
2$
the end
Puede usar el parámetro -n de echo. Así:
$ touch a.txt
$ echo -n "A" >> a.txt
$ echo -n "B" >> a.txt
$ echo -n "C" >> a.txt
$ cat a.txt
ABC
EDITAR:Ajá, ya tenía un archivo que contenía una cadena y una nueva línea. Bueno, dejaré esto aquí de todos modos, podría ser útil para alguien.