fraenky
Goto Top

Zeilen in Datei tauschen mit bash script

Hallo liebe Gemeinde.

Ein frohes Ostern allen zusammen.

Ich möchte mal nachfragen, ob mir hier mal wieder geholfen werden kann.

Die Aufgabenstellung ist einfach:

Aus einer Datei die letzte mit sichtbaren Zeichen befüllte Zeile( für den Fall einer Leerzeile( werden nicht gebraucht) oder so am Ende der Datei) einer Datei nach oben in die erste Zeile verschieben.
Alle anderen Zeilen rücken also eine Zeile tiefer.
Kurz gesagt, aus der letzten Zeile soll die erste werden.

Ich komme leider mit meinen geringen Kenntnissen nicht weiter und würde mich besonders über eine bash Lösung freuen.

Liebe Grüsse

Fraenky

Content-ID: 139827

Url: https://administrator.de/contentid/139827

Printed on: December 14, 2024 at 19:12 o'clock

77559
77559 Apr 04, 2010 at 16:37:26 (UTC)
Goto Top
Hallo Fraenky,

ich bin zwar keine bash Koryphäe,
aber wie wärs mit Head + Tail?

Gruß
LotPings
Fraenky
Fraenky Apr 04, 2010 at 20:54:12 (UTC)
Goto Top
Hallo LotPings.

Ich bin gerade mal frischer Anfänger im bashen.

Wie ist denn so das übliche Vorgehen?
Also ich kann mit
tail -1 datei >datei.tmp
die letzte Zeile in eine tmp-Datei einfügen.
Danach mit:
cat datei >>datei.tmp
die ursprünglichen Zeilen anhängen.

Aber wie lösche ich die jetzt doppelte letzte Zeile?
Oder wie würdest Du es lösen?

Gruß

Fraenky
77559
77559 Apr 05, 2010 at 15:32:23 (UTC)
Goto Top
Hallo Fraenky,

lies mal die Head optionen:
‘--lines=k’
    Output the first k lines. However, if k starts with a ‘-’, print all but the last k lines of each file. Size multiplier suffixes are the same as with the -c option. 

Gruß
LotPings
Fraenky
Fraenky Apr 06, 2010 at 09:37:33 (UTC)
Goto Top
Hallo LotPings.

Ja super, klappt alles.

Danke Dir für den Hinweis.

Mein Englisch ist leider nicht das Beste.

Gruß

Fraenky