Benutzer-Werkzeuge

Webseiten-Werkzeuge


sed-zeilen-paarweise-zusammen

Oftmals hat man das Problem zwei Zeilen die nacheinander in zwei getrennten Zeilen stehen, in eine Zeile zusammen zufassen. Dazu ist das 'sed' Kommandozeilen sehr gut geeignet.

Am Beispiel dieser Ausgabe aus der Datei /var/log/apt/history.log sieht man die Problematik deutlich. Start-Date- und Commandline-Zeilen folgen immer aufeinander. Übersichtlich wäre es, wenn die Ausgabe in einer Zeile erfolgen könnte.

 # egrep '^(Start-Date:|Commandline:)' /var/log/apt/history.log
 Start-Date: 2015-01-07  17:21:10
 Commandline: apt-get dist-upgrade
 Start-Date: 2015-01-07  22:09:11
 Commandline: apt-get remove --purge --yes linux-headers-3.17-4.towo-siduction-amd64 linux-image-3.17-4.towo-siduction-amd64
 Start-Date: 2015-01-07  22:09:25
 Commandline: apt-get remove --purge --yes linux-headers-3.18-0.towo-siduction-amd64 linux-image-3.18-0.towo-siduction-amd64

Der Ausdruck des sed Befehls erledigt dies.

 # egrep '^(Start-Date:|Commandline:)' /var/log/apt/history.log | sed '$!N;s/\n/ /'
 Start-Date: 2015-01-07  17:21:10 Commandline: apt-get dist-upgrade
 Start-Date: 2015-01-07  22:09:11 Commandline: apt-get remove --purge --yes linux-headers-3.17-4.towo-siduction-amd64 linux-image-[...]
 Start-Date: 2015-01-07  22:09:25 Commandline: apt-get remove --purge --yes linux-headers-3.18-0.towo-siduction-amd64 linux-image-[...]
sed-zeilen-paarweise-zusammen.txt · Zuletzt geändert: 2020/01/23 16:37 (Externe Bearbeitung)