# Herausspalten einzelner Patch-Files aus einer Patch-Sammlung (z.B. # Sammelexport von Vim-Patch-Mails mit dem Mailer Pine) # # 17.7.2006 # Das vorliegende File ist ein Shell-Skript mit der Endung .awk, so dass der # Editor Vim automatisch das Syntax Highlighting für AWK einschaltet. # Hauptbestandteil des Shell-Skriptes ist ein AWK-Programm, das zur Ausführung # an AWK übergeben wird. awk ' # Header-Zeilen einer Mail aufsammeln /^From /, /^Subject:/ { header = header (header ? "\n" : "") $0 if ($0 ~ /^Subject:/) { # Subject gefunden if (fname) { # es gibt schon ein offenes File --> schließen close(fname) } # den neuen File-Namen aus dem Subject heraustrennen fname = $0 sub(/.*Patch /, "", fname) # den Header in das File ausgeben und dann löschen print header > fname header = "" } # mit der Bearbeitung der Folgezeile fortfahren next } # Nicht-Header-Zeilen in das aktuelle Ausgabe-File ausgeben fname { print > fname } ' patches