aus datei auslesen [awk]

Diskutiere aus datei auslesen [awk] im Ruby, php, Perl, Python ... Forum im Bereich Programmieren unter Linux/Unix; hallo forum, ich schlage mich seit einiger zeit mit awk rum. folgendes problem habe ich: ich habe eine sehr grosse datei, aus welcher ich...

  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

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    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. #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
     
  15. #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. 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....
  2. 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...
  3. 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...
  4. Zahl innerhalb eines Dateinamens auslesen

    Zahl innerhalb eines Dateinamens auslesen: Hallo, ich habe eine große Anzahl an Dateien mit konstantem Dateinamen + einer Zahl, allerdings sind sie nicht fortlaufend nummeriert, also...
  5. (gelöst) Beliebige Zeile aus einer Datei von unten auslesen

    (gelöst) Beliebige Zeile aus einer Datei von unten auslesen: Hallo, ich habe eine log-Datei die ständig nach unten wächst. Wie lese ich perfomanceschönend da die 11 Zeile von unten aus ? Danke und...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden