• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[glöst] Ausgabe an bestimmte Stelle einer Datei schreiben

pawe

Member
hallo konsolennutzer,

Ich arbeite gerade an einem script und habe folgendes Problem:
Ich möchte eine Ausgabe an eine bestimmte Stelle einer Datei einfügen.
Zuerst dachte ich an sed. Damit kann man ein Muster suchen lassen und nach dem Muster etwas einfügen.
Das blöde ist, wenn ich eine Variable $vari mitgeben will interpretiert sed diese nicht als Variable :cry:
Außerdem kann sed die grade gelesene Datei nicht überschreiben :?

gibt es eine andere Möglichkeit eine Variable an eine bestimmte Stelle einer Datei zu schreiben?
 
A

Anonymous

Gast
Das blöde ist, wenn ich eine Variable $vari mitgeben will interpretiert sed diese nicht als Variable
Außerdem kann sed die grade gelesene Datei nicht überschreiben

eine Variable in sed kannst du auflösen mit ${VARIABLE} wenn du mit " maskierst.

also etwa so
Code:
 sed -e "1,/${VARIABLE}/d" Datei.txt

Die allermeisten Kommandos zur Manipulation von Strings und Dateien unter LINUX oder unter UNIX sind als Filterkommandos ausgelegt das bedeutet dass die alte Datei nicht verändert wird sondern einen neue Datei angelegt werden muss.

<Datei Filterkommando >Datei führt bei gleichem Dateinamen also in aller Regel zu einer leeren Datei.

robi
 
OP
pawe

pawe

Member
AHA!!!

Ich habe mit ' maskiert, dann werden Variablen und sonstiges nicht erkannt. Mit " braucht man nicht mal die {}-Klammern. :)

Dann werde ich in Datei2 speichern und Datei1 überschreiben!

Danke robi
 
Oben