Eine Aufgabe für AWK

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von deepthrow, 14.04.2008.

  1. #1 deepthrow, 14.04.2008
    deepthrow

    deepthrow Grünschnabel

    Dabei seit:
    14.04.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo alle zusammen!

    ich hab folgendes Problem. Ich habe eine Datei mit mehreren Spalten und in der zweiten Spalte befinden Zahlen. Diese Zahlen sind in verschiedenen Zeilen auch mal gleich. Das ganze sieht ungefähr so aus.

    wort-test 1
    wort-test 1
    wort-test 12
    wort-test 12
    wort-test 12
    wort-test 30
    wort-test 30

    Jetzt möchte ich gerne, das zwischen jeder Zeile, wo sie die Zahlen der zweiten Spalte ändern eine Leerzeile eingefügt wird. Also hier eine Leerzeile zwischen 1,12,30, sprich 3 Stück.

    Würde mich freuen wenn mir da jemand helfen könnte.
     
  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 flappinski, 14.04.2008
    flappinski

    flappinski Foren As

    Dabei seit:
    31.03.2006
    Beiträge:
    87
    Zustimmungen:
    0
    awk '{ if (c2!=$2 && NR>1) print ""; print $0; c2=$2}'

    gruss,
    Stephan
     
  4. #3 deepthrow, 14.04.2008
    deepthrow

    deepthrow Grünschnabel

    Dabei seit:
    14.04.2008
    Beiträge:
    2
    Zustimmungen:
    0
    vielen dank!! ich hab es gerade in meine pipe kette eingefügt und es funktioniert wunderbar. jetzt werde ich mir noch was dazu überlegen
     
  5. #4 flappinski, 14.04.2008
    flappinski

    flappinski Foren As

    Dabei seit:
    31.03.2006
    Beiträge:
    87
    Zustimmungen:
    0
    bitte, war mit ein vergnügen, endlich darf ich auch mal helfen...
     
  6. #5 longman, 16.04.2008
    longman

    longman Jungspund

    Dabei seit:
    30.10.2005
    Beiträge:
    19
    Zustimmungen:
    0
    Wenn Du willst kannst Du mir einen Gefallen tun und die Zeile erläutern.

    Mich interessiert die Wirkungsweise, doch ich habe noch nie was mit awk gemacht und steige nicht ganz dahinter.
    Danke und tschüss.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 maxix, 17.04.2008
    Zuletzt bearbeitet: 17.04.2008
    maxix

    maxix Eroberer

    Dabei seit:
    16.03.2006
    Beiträge:
    74
    Zustimmungen:
    0
    nur der awk teil in den {} :
    Code:
     if (     c2      !=          $2         && NR>1)               print ""     ;          print $0          ; c2=$2}
    wenn   c2      ungleich  Spalte2         und  Wert>1)  dann leerzeile    sonst    zeile ausgeben ;        nun wert in Spalte 2 in der Variablen c2 merken
    
     
  9. #7 Gott_in_schwarz, 17.04.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Das mit dem "sonst" stimmt so nicht. Steht ja nirgendwo ein "else". Das einzige vom if-Statement beeinflusste Kommando ist das 'print ""'. Die Variable NR enthält die jeweilige aktuelle Zeilennummer. (Number of record oder so.)
     
Thema:

Eine Aufgabe für AWK

Die Seite wird geladen...

Eine Aufgabe für AWK - Ähnliche Themen

  1. Brauche Hilfe bei Lösunge einer Aufgabe

    Brauche Hilfe bei Lösunge einer Aufgabe: In der Dateil /etc/passwd sind zeilenweise alle User aufgelistet. Der Name ist dabei vom Zeilenanfang bis zum ersten Doppelpunkt. Erstellen Sie...
  2. SMB eine Lebensaufgabe!

    SMB eine Lebensaufgabe!: :winke: sup all?! hab ich schon gegooglet und foren durchforstet, um es zu vermeiden! jetzt bin ich aber mit den nerven und ideen am ende ......
  3. Knobelaufgabe für UNIX Könner (und Hilfe für einen N00b)

    Knobelaufgabe für UNIX Könner (und Hilfe für einen N00b): Hallo liebe Unix Gemeinde. Ich darf mich mal als totaler Unix N00b outen, und hoffe hier wird mir geholfen. Und zwar versuche ich gerade ein...
  4. Fce4, kleine Aufgaben - bitte help!

    Fce4, kleine Aufgaben - bitte help!: Habe mir gerade Xfce4 installiert und finde es cool. Aber da sind ein paar Sachen wo ich eure Hilfe brauche. - Ich suche das Iconset, was hier...
  5. Eine Kleine Rechenaufgabe

    Eine Kleine Rechenaufgabe: Aufgabe: Eine Mutter ist 21 Jahre älter als ihr Kind und in 6 Jahren wird das Kind 5 mal jünger sein, als die Mutter. Frage: Wo ist der Vater?...