Archiv verlassen und diese Seite im Standarddesign anzeigen : String zerlegen und formatieren
Moin,
ich habe eine Textdatei mit folgendem Schema:
var xyz=[{co:"FIRMA1",ceid:"101"},{co:"FIRMA2",ceid:"102"},{co:"FIRMA3",ceid:"103"}, usw.Der ganze Kram ist ein aneinander hängender String.
Wie kann ich den jetzt aufdröseln, damit ich folgenden Output bekomme:
FIRMA1, 101
FIRMA2, 102
FIRMA3, 103
usw.Jemand ne Idee?
Ciao.
Verrätst Du uns noch, in welcher (Script-)Sprache Du das brauchst?
In gar keiner, die Quelldatei ist Javascript, aber da ist sonst kein weiterer Code drin, nur das was oben steht.
Der output soll Plaintext sein.
Edit:
Ah... Bash Script idealerweise, ich nehme aber auch Python, Ruby, Perl usw. ;)
ThorstenHirsch
24.10.11, 12:06
Das ist doch JSON! Also der Königsweg wäre dann natürlich ein JSON-Parser (gibt's für Python, Ruby, Perl usw. ;)).
cat tmp.xyz | tr "\"" "\n" | grep -v var | while read l; do echo "$l" | grep -q FIRMA && echo -n "$l, "; echo "$l" | grep -q ^[0-9][0-9[0-9] && echo "$l" ; done
Schon mal cool, aber "FIRMA1" usw. sind natürlich irgendwelche Firmennamen, ein grep auf FIRMA geht in dem Fall leider nicht.
Also:
var xyz=[{co:"super company ltd",ceid:"101"},{co:"bla bla gmbh",ceid:"102"},{co:"microsoft gmbh",ceid:"103"}, usw.
Zeilen zählen ...
cat tmp.xyz | tr "\"" "\n" | grep -v var | while read l; do a=$((++n%4)); test $a -eq 1 && echo -n "$l, "; test $a -eq 3 && echo "$l" ; done
Ich habs.
grep -q FIRMA
durch
grep -q ^[a-z]
ersetzen.
Vielen Dank!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.