Dem Editör is nix zu schwör
/usr/bin/echo '0a\nbla blub\n.\nw\nq' | ed -s $datei
Rainer
Hallo.
Das wird allerdings bei großen Dateien nicht funktionieren.
Das "unten dran-Hängen" ist eine Operation, die jedes Betriebssystem von sich aus unterstützt. Ein direktes "oben dran-Kleben" ist bei den mir bekannten Dateisystemen (FAT, NTFS, UFS, EXT2) wohl unmöglich.
Die Datei muss beim "oben dran-Kleben" also komplett neu geschrieben werden. Dazu gibt es zwei Möglichkeiten:
- Die zwei-Dateien-Lösung
- Die Datei komplett in den RAM lesen und dann schreiben (Lösung mit dem "ed"-Editor)
Da bei großen Dateien aber nicht genügend RAM zur Verfügung steht, ist das ein Problem.
habs nun folgendermasen gemacht:
echo "bla blup" >> $temp1
cat $datei >> $temp1
cat $temp1 > $datei
Mehr Performance würde der folgende Code bringen, da kein zweites Umkopieren notwendig ist:
echo "bla blup" > $temp1
cat $datei >> $temp1
rm $datei
mv $temp1 $datei
(Allerdings gehen dabei UID, GID, Mode, ... von "$datei" verloren)
Martin