Anzahl Kommatar zählen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von nibbel, 10.09.2008.

  1. nibbel

    nibbel Grünschnabel

    Dabei seit:
    13.02.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Moin Leute.
    Ich muss hier noch ein kleines Bashscript schreiben. Hab mir dazu einige mans druchgelesen und bin praktisch schon fertig.
    Ich muss nur noch eine while schleife einbauen. Der Inhalt dafür ist auch schon bereit. Nur das Argument für die Schleife will mir noch nicht so richtig einfallen.

    Nun hatte ich die idee, die while durch eine for zu ersetzen.
    Ich muss aber die anzahl haben, wie weit er zählen darf.
    Dafür will ich eine datei auslesen die so aufgebaut ist:

    Code:
    text,text,text,text
    text,text
    text,text,text,text,text,text
    Nun will ich einfach immer von der letzten Zeile die Kommas zählen lassen und diesen integerwert an die forschleife geben. Damit diese dann so oft ihren inhalt durch geht.

    mit
    Code:
    tail -n1 text.liste
    würde ich die letzte Zeile auslesen und dann muss ich noch die kommas lesen und in eine Variable packen. Das würde ich dann so machen:

    Code:
    variable=$(tail -n1 text.liste |cut -d, ????)
    ich weiss wie ich mit cut den text form ersten komma oder nach oder nach dem 3ten da rein schreibe. Aber wie die anzahl der Kommatas?
    Hat da wer ne Idee? Wäre echt nett, danke!
     
  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 sinn3r, 10.09.2008
    Zuletzt bearbeitet: 10.09.2008
    sinn3r

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.764
    Zustimmungen:
    0
    Ort:
    Wentorf
    Code:
    tail -n2 text.liste | grep -o ',' | wc -l
    Waere fuer mich jetzt die Hausfrauen-Antwort... aber die anderen Code werden bestimmt jetzt mit Useless-use-of-X (geht sicher auch irgendwie ohne die | aber... *psst*) nach mir werfen :)

    In before Wolfgang: Bitte gibt deine verwendete Shell/Distribution an.
     
  4. #3 Wolfgang, 10.09.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Bitte weise doch darauf hin, dass das ein Crossposting ist.
    Dort habe ich dir schon einen Hinweis auf IFS gegeben.
     
  5. #4 NoXqs, 10.09.2008
    Zuletzt bearbeitet: 10.09.2008
    NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    oder wie wäre es damit?

    Code:
    echo "text1,text2,text3,text4" | sed s/,/" "/g  | wc -w
    
    hast zwar nicht die Anzahl der Kommas, aber Anzahl der Worte
     
  6. #5 Gott_in_schwarz, 10.09.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Code:
    echo foo,bar,baz,ein text mit leerzeichen,nej|perl -ne 'print scalar $_ =~ tr/,/,/'
    So kann man das perl-tr benutzen, um die Kommata zu zählen.
    Siehe auch perlop.
    (Bei y/// und tr///)
    Das Beispiel ist übrigens extra-explizit, es geht auch einfach:
    Code:
    echo foo,bar,baz,ein text mit leerzeichen,nej|perl -ne 'print tr/,/,/'
     
  7. #6 Wolfgang, 10.09.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Und man kann am Ende noch weitere 30 Prozesse aufrufen, um zum gleichen trivialen Ergebnis zu kommen. ;)
    Wenn schon, warum nicht eine reine perl-Lösung für das Problem?
    Oder eine reine sed-Lösung für das Problem?
    Code:
    sed -ne '${s/,/\n/g;p}' input >output
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Anzahl Kommatar zählen

Die Seite wird geladen...

Anzahl Kommatar zählen - Ähnliche Themen

  1. Steam: Anzahl an Linux-Spielen vervierfacht sich

    Steam: Anzahl an Linux-Spielen vervierfacht sich: Seit der Veröffentlichung von Steam für Linux vor einem Jahr hat sich die Zahl der Titel für Linux vervierfacht. Auch die Qualität der Titel...
  2. Anzahl Blöcke Unix-Dateisystem berechnen

    Anzahl Blöcke Unix-Dateisystem berechnen: Hi, Ich möchte folgende Aufgabe berechnen: Die Blockgröße eines Unix-Dateisystems beträgt 4 kiByte. Die indirekten Blöcke enthalten 1024...
  3. Anzahl Dateein in xbeliebigen Verzeichnissen ermitteln

    Anzahl Dateein in xbeliebigen Verzeichnissen ermitteln: Hallo ixh habs mal in diese Rubrik gesetzt, da ich nciht weiß, ob das nur per script geht, oder nicht. Wie kann ich die Anzahl der Dateien...
  4. Anzahl Elemente in Array hochzählen

    Anzahl Elemente in Array hochzählen: Hallo zusammen, nach etwa 20 Stunden unermüdlichen Probierens, komme ich jetzt doch nicht am Nachfragen vorbei :-( Ich möchte ein Array von...
  5. Anzahl der belegten Speicherbänke in der Konsole anzeigen

    Anzahl der belegten Speicherbänke in der Konsole anzeigen: Moin, gibt es eine Möglichkeit über die Konsole herauszufinden, wie viele RAM Module in meinem System verbaut sind? mfg thobit