aus datei auslesen [awk]

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von tini1208, 07.03.2006.

  1. #1 tini1208, 07.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    hallo forum,

    ich schlage mich seit einiger zeit mit awk rum.
    folgendes problem habe ich:

    ich habe eine sehr grosse datei, aus welcher ich bestimmt zeilen extrahieren möchte. der teil sieht folgender massen aus:

    i_ElvuseFlg = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
    1 1 1 1 1

    das ganze soll in dann so aussehen:

    i_ELvuseFlg
    1
    1
    1
    1
    1
    1
    1
    etc...

    ich habe keine ahnung, wie ich das schreiben soll....mit spalten auslesen hab ich kein problem...aber wie kriege ich das in das format?

    vielleicht kann mir jemand helfen?!

    grüße

    tini1208
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 ninguno, 07.03.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    irgendwas in der art?
    Code:
    awk -F '=' '/^i_ElvuseFlg/{gsub(" ","\n",$2); print $1 $2; getline; gsub(" ","\n",$0); print; getline; gsub(" ","\n",$0); print}'
     
  4. #3 tini1208, 07.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    sorry...aber das funktioniert nicht....
    gibt es noch was anderes...vielleicht leicher nachvollziehbares...habe das andere jetzt gerade so gar nicht verstanden.
     
  5. #4 ninguno, 07.03.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    was funktioniert denn nicht?
    wie schaut der teil den du ausgeben möchtest genau aus?
     
  6. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Bin zwar nicht so versiert in awk, aber vielleicht tuts auch folgendes

    Code:
    awk '/^i_ElvuseFlg/' file | sed 's/ =//' | tr " " "\n"
     
  7. #6 tini1208, 07.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    @ ninguno: wenn ich die zeile so eingebe, dann findet er da nen fehler. da ich leider nicht verstehe, was du da zusammengeschrieben hast, kann ich auch nicht drinrumwühlen....d.h. den befehl verändern.
    im grunde habe ich alles in meinen ersten post geschrieben...dies ist ein teil aus dem originalfile....da sind halt noch mehr parameter drin (die ähnliches format haben), aber ich will nur diesen extrahieren....

    @Xanti: das output file ist leer....aber keine fehlermeldung.
     
  8. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Du musst uns schon die Fehlermeldung posten. Des weiteren schreibst Du etwas von einem output file. Wüsste nicht, dass mein Beispiel eins anlegt. Gib uns mal ein paar mehr Infos zu Deinem zu parsenden File. Wie sind die Parameter getrennt (Tab, Space, ...)?
     
  9. #8 tini1208, 08.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    die fehlermeldung bei dem von ninguno erstellten skript war ein einfacher sythax fehler. mehr nicht.
    ich habe auch den verweis zu einem output file gemacht (> output)...doch dieses war dann leer.

    die zeile nach i_ElvuseFlg und die darunter gehören eigentlich zusammen...also 15 werte
    die somit 2. zeile hat 20 werte und die letzte 5...alles 0en und 1en, welche durch tabs getrennt sind.
    eingebettet ist dieser parameter in weitere i_lon oder i_lat etc., die aber so gar nicht von interesse sind. ich würde ja ein file mitschicken, doch leider ist es ca. 200mb groß.
    hab ich noch was vergessen? falls noch fragen sein sollten...bin ich gern versucht, diese nach bestem wissen zu beantworten.

    viele grüße
     
  10. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Versuch mal bitte folgendes:

    Code:
    grep -A2 "i_ElvuseFlg" file | sed 's/ =//' | tr "\t" "\n"
    
     
  11. #10 tini1208, 08.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    diese fehlermeldung kam:

    grep: illegal option -- A
    grep: illegal option -- 2
    Usage: grep -hblcnsviw pattern file . . .

    hab bei file mein input eingesetzt und dann am ende wieder ein > output angehangen. war das richtig?

    viele grüße
     
  12. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    ...hmm, zu altes grep wahrscheinlich.

    Ja. Probier mal folgendes:

    Code:
    perl -ne '$b=3 if /i_ElvuseFlg/; if ($b-->0) {s/ =//g; tr/\t /\n/; print}' file
    
     
  13. #12 tini1208, 08.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    o.k.....das läuft. dann aber noch was zum output....die zeilen sind durch zwei leerzeilen getrennt...also so:
    1


    1


    1


    ....

    kann man da noch was machen?

    viele grüße und schon mal danke!!!!!!!
     
  14. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  15. #13 Xanti, 08.03.2006
    Zuletzt bearbeitet: 08.03.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    perl -ne '$b=3 if /i_ElvuseFlg/; if ($b-->0) {tr/=//d; s/[\s\t]+/\n/g; print}' file
    
    Gruss, Xanti
     
  16. #14 tini1208, 08.03.2006
    tini1208

    tini1208 Jungspund

    Dabei seit:
    07.03.2006
    Beiträge:
    12
    Zustimmungen:
    0
    super!!!! danke!!!!!!!
     
Thema:

aus datei auslesen [awk]

Die Seite wird geladen...

aus datei auslesen [awk] - Ähnliche Themen

  1. Datei auslesen und fund per MAil versenden.

    Datei auslesen und fund per MAil versenden.: Hallo folgendes Script habe ich zur Zeit in Arbeit. Und zwar führe ich über "at" ein kleines Script aus was in einem Logfile nach bestimmten...
  2. Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben

    Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben: Guten Abend, ich hätte da mal eine Frage. Bin mir recht sicher, dass es in der Shell funktionieren sollte, aber kenne mich damit kaum aus....
  3. ca. 1200 PDF-Dateien auslesen und bestimmte Daten in eine CSV-Datei speichern

    ca. 1200 PDF-Dateien auslesen und bestimmte Daten in eine CSV-Datei speichern: Hallo Leute, heute brauche ich mal einen dringenden Rat von Euch. Ich habe hier etwas mehr als 1200 PDF-Dateien (Text), die jeweils ein...
  4. Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

    Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql: Hallo Eventuell kann mir jemand bei meinem Problem helfen. Ich habe mich irgendwie total verrannt und komme nicht weiter. Die folgende...
  5. Datei auslesen per Python (WLST)

    Datei auslesen per Python (WLST): Guten Abend, ich weiß nicht ob ich das hier posten kann - da WLST (WebLogic Scripting Tool) ja jetzt nicht so dazu gehört... Aber vielleicht...