Per Skript eine Zeile in einer Datei ersetzen

muellners

muellners

Jungspund
versuche gerade nach ausführung eines Skript´s , die erste Zeile einer Datei durch einen neuen Eintrag zu ersetzen.


Inhalt der Datei:

Aktuell seit 09.02.2005
Zeile zwei
Zeile drei
Zeile vier


Wie gesagt, nur Zeile eins soll durch neuen Eintrag ersetzt werden.
 
Wieso Perl?

Gibt mehrere Moeglichkeiten auch ohne Perl.
Dateiname: test
Code:
tail +2 test # Alles nach der ersten Zeile

Oder mit sed:
Code:
1a\
[b]neuer text[/b]
1d
sed -f sedscript test
 
Bitte nicht falsch verstehen, nicht "Perl"

Mittels Skript nur die erste Zeile einer Datei ersetzen, der Rest des Inhaltes muss erhalten bleiben

so wie

echo "Neue erste Zeile" >> Zieldatei

nur nicht anhängen sondern an den Anfang stellen.
 
Du kommst fast nicht drum um eine temporäre Datei zu haben. Es sei denn, dein sed supportet inline editing! Wenn du weisst, wie die erste Zeile heisst, kannst du diese dann direkt mit sed ersetzen.

Ansonsten:
Code:
echo "neue erste zeile" >> neue_datei
tail +2 alte datei >> neue_datei
mv neue_datei alte_datei
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Shell-Skript Datum in einer Datai suchen

Skript bei Lubuntu nach jedem Start ausführen

PATH wird nicht richtig durchsucht

Bash - Zwei Binärdateien vergleichen (SQL Diff)

Zurück
Oben