Archiv verlassen und diese Seite im Standarddesign anzeigen : zeichen zählen
HAllo Experten!
Ich suche nach einem Befehl für ein Bash Script, mit dem ich die Anzahl von "\" Zeichen in einem Strig auslesen kann.
Vielen Dank
Hans-Georg Normann
25-10-2002, 16:56
grep -F -c \\ /pfad/datei
Zählt alle Zeilen welche einen \ oder mehrere davon haben. Wenn's wirklich jedes Zeichen sein muß, dann mußt du wohl auf zusätzliche Tools wie z.b. awk oder Python ausweichen.
Hans
Hi,
so jetzt hab ich mal etwas gebastelt. Erfüllt aber mehr den Zweck als das es sauber funktioniert (habs nicht besser hinbekommen :D ).
cat eingabe.txt | awk '/\\/ { bslashcount += gsub("\\","b") } { print bslashcount }'
/\\/ bedeutet, dass nur Zeilen in denen ein \ vorkommt bearbeitet werden
gsub ersetzt in der aktuellen Zeile, alle \ mit b und liefert die Anzahl der Ersetzten Zeichen zurück (nur ein Workaround um die \ zu zählen).
Die Rückgabe von gsub wird dann in bslashcount aufaddiert.
Die korrekte Anzahl von \ in eingabe.txt ist dann die letzte Zahl die Ausgegeben wird. Ich hab nämlich nicht viel Ahnung von awk und habs noch nicht geschafft, dass bslashcount nur 1 mal und zwar am Schluss ausgegeben wird. Vielleicht kann dieses letzte Problem noch jemand ausbessern.
Gruss
Jochen
Hans-Georg Normann
30-10-2002, 19:57
Endlich mal wieder ne vernünftige awk Anwendung:D
Eigentlich liebe ich awk, obwohl ich ihn immer noch nicht richtig verstanden habe.:mad:
Hans
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.