sed '$s/$/yourText2/' list.txt > _list.txt_ && mv -- _list.txt_ list.txt
Wenn Ihr sed Implementierung unterstützt das -i Option, könnten Sie verwenden:
sed -i.bck '$s/$/yourText2/' list.txt
Mit der zweiten Lösung haben Sie auch ein Backup (bei der ersten müssen Sie es manuell machen).
Alternativ:
ex -sc 's/$/yourText2/|w|q' list.txt
oder
perl -i.bck -pe's/$/yourText2/ if eof' list.txt
Verwenden Sie einfach printf
stattdessen, da es standardmäßig nicht die neue Zeile druckt:
printf "final line" >> file
Test
Lassen Sie uns eine Datei erstellen und dann eine zusätzliche Zeile ohne abschließende neue Zeile hinzufügen. Beachten Sie, dass ich cat -vet
verwende um die neuen Zeilen zu sehen.
$ seq 2 > file
$ cat -vet file
1$
2$
$ printf "the end" >> file
$ cat -vet file
1$
2$
the end
Sie können den Parameter -n von echo verwenden. So:
$ touch a.txt
$ echo -n "A" >> a.txt
$ echo -n "B" >> a.txt
$ echo -n "C" >> a.txt
$ cat a.txt
ABC
EDIT:Aha, Sie hatten bereits eine Datei mit Zeichenfolge und Zeilenumbruch. Nun, ich lasse das trotzdem hier, könnten wir für jemanden nützlich sein.