Hi Marco! On Mi, 07 Sep 2011, Marco Jäger wrote:
von einer website hole ich mir bestimmte informationen (via script), diese werden in ein txt file gespeichert soweit klappt das ganze ganz gut - nur sind die informationen dann noch nicht sofort verwendbar, das das script den text pur speichert. (nicht beeinflussbar)
die daten sollen dann zb. via gnumeric weiterverarbeitet werden - ohne erst 3 std das textfile von hand zu überarbeiten. grund :
original-text (angepasst):
Vorname person 1 voller name person 1 <leerzeile> restdaten der person 1 Vorname person 2 voller name person 2 <leerzeile> restdaten der person 2 [...] Vorname person 200 voller name person 200 leerzeile restdaten der person 200
nun bräuchte ich allerdings das ganze einzeillig pro person zum inport in die tabellenverwaltung also zb so: Vorname person 1|voller name person 1|restdaten der person 1 Vorname person 2|voller name person 2|restdaten der person 2 ..... Vorname person 200|voller name person 200|restdaten der person 200
weiß jemand, wie ich da die "unerwünschten" CRLF und die leerzeile via grep rausbekomme, ohne das das ganze komplett einzeillig wird ?
Grep ist hier das falsche tool. Das geht mit ein paar Zeilen awk. Hier ist eine quick and dirty Lösung, das geht sicher eleganter, aber es fehlen doch ein paar Informationen (z.B. Wieviele Records pro Datensatz?): #v+ awk ' /./{ i=0; a[i++] = $0; while ((getline line) > 0 && line ~ /./) a[i++] = line for (j=0; j < i-2; j++){ printf "|" a[j] } if (getline foo > 0) { printf "\n" a[i-2] "|" a[i-1] "|" foo } else{ printf a[i-2] "|" a[i-1] "\n" } } ' < person.txt #v- Mit freundlichen Grüßen Christian -- Verliebt: Er spricht, sie lauscht. Verlobt : Sie spricht, er lauscht. Verheiratet: Beide sprechen, die Nachbarn lauschen. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org