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

Ausgedruckt am: 26.11.2024 um 00:11 Uhr

77559
77559 04.04.2010 um 18:37:26 Uhr
Goto Top
Hallo Fraenky,

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

Gruß
LotPings
Fraenky
Fraenky 04.04.2010 um 22:54:12 Uhr
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 05.04.2010 um 17:32:23 Uhr
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 06.04.2010 um 11:37:33 Uhr
Goto Top
Hallo LotPings.

Ja super, klappt alles.

Danke Dir für den Hinweis.

Mein Englisch ist leider nicht das Beste.

Gruß

Fraenky