E-Mail-Protokolle sind unglaublich schwer zu lesen. Wie kann ich eine Leerzeile zwischen den Zeilen in der Befehlszeile ausgeben? Angenommen, ich greife nach dem Protokoll. Auf diese Weise werden mehrere umbrochene Zeilen nicht verwechselt.
quelle
E-Mail-Protokolle sind unglaublich schwer zu lesen. Wie kann ich eine Leerzeile zwischen den Zeilen in der Befehlszeile ausgeben? Angenommen, ich greife nach dem Protokoll. Auf diese Weise werden mehrere umbrochene Zeilen nicht verwechselt.
sed G
# option: g G Copy/append hold space to pattern space.
G
wird nicht oft verwendet, ist aber nett für diesen Zweck. sed verwaltet zwei Pufferbereiche: den "Musterbereich" und den "Haltebereich". Die Linien verarbeitet durch Sed fließen normalerweise durch den Musterraum als verschiedene Befehle auf seinen Inhalt arbeiten ( s///
, p
, etc.); Der Speicherplatz beginnt leer und wird nur von einigen Befehlen verwendet.
Der G
Befehl fügt eine neue Zeile und den Inhalt des Haltebereichs an den Musterbereich an. Das obige sed- Programm G
fügt niemals etwas in den Hold-Bereich ein, sondern fügt effektiv nur eine neue Zeile an jede verarbeitete Zeile an.
whatever | sed G
sollten den Trick tun.-e
da wir dort nur ein einziges Befehlsargument brauchen.Verwenden Sie awk, um einen zusätzlichen Zeilenumbruch einzufügen. Auf diese Weise können Sie auch Dinge herausfiltern, die Sie nicht möchten.
quelle
Verwenden Sie sed, und ersetzen Sie die gesamte Zeile durch ein zusätzliches Zeilenumbruchszeichen:
quelle
Ist es das was du suchst?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
quelle
read -r
, um zu vermeiden, dass Backslash-Zeichen als Sonderzeichen behandelt werden.Wenn es mehr ist als nur nachzuschauen, ziehe ich es vor, sie in eine Textdatei zu senden und mit einem Texteditor zu öffnen, damit Sie die Zeilen so einstellen können, dass sie umgebrochen werden oder nicht, und einfach suchen können ... und die unerwünschten Zeilen löschen und so weiter ohne viele Befehle eingeben müssen.
cat file.log > log.txt
undgedit log.txt
oder ein Terminal-Editor wie NanoEdit: oder was
cp file.log log.txt
ist natürlich einfacher und schneller ... dank KeithB Kommentarquelle
cat
nichtcp
?cp
wäre einfacher und schneller ... lol - ich lese die anderen Antworten Umgang mitgrep
undawk
so schrieb ich ihm diecat
Art und Weise , aber ich bin zu korrigieren , dass dank