Frage von JamesOffice, 36

Reguläre Ausdrücke unter Linux?

Kann ich mit dem grep kommando feststellen in WIE VIEL Zeilen z.b das Wort UNIX vorgekommen ist (Unabhängig von Groß- oder Kleinschreibung)? soweit ich weiß sucht man damit nach bestimmten Strings und gibt diese auf dem Shell aus!! Danke im Voraus!

Antwort
von Linuxhase, 8

Hallo

Kann ich mit dem grep kommando feststellen in WIE VIEL Zeilen z.b das Wort UNIX vorgekommen ist (Unabhängig von Groß- oder Kleinschreibung)?

Ja klar geht das, ist eines der einfachsten Dinge:

grep -Ei "unix" zu_durchsuchende_datei.txt | wc -l

GREP filter die entsprechenden Zeilen heraus und WC zählt diese.

soweit ich weiß sucht man damit nach bestimmten Strings und gibt diese auf dem Shell aus

Wohin die Ausgabe geht bestimmst Du über den Aufruf selbst. Im obigen Beispiel geht die Ausgabe von GREP über die Pipe als Eingabe an WC

Aber wen Dich das interessiert, dann solltest Du Dir die Manpages ansehen. In Kurzform sieht das (mit meinem Filterscipt) so aus:

-V, --version
-E, --extended-regexp
-F, --fixed-strings
-G, --basic-regexp
-P, --perl-regexp
-e PATTERN, --regexp=PATTERN
-f FILE, --file=FILE
-i, --ignore-case
-v, --invert-match
-w, --word-regexp
-x, --line-regexp
-y Obsolete synonym for -i.
-c, --count
-L, --files-without-match
-l, --files-with-matches
-m NUM, --max-count=NUM
-o, --only-matching
-q, --quiet, --silent
-s, --no-messages
-b, --byte-offset
-H, --with-filename
-h, --no-filename
-n, --line-number
-T, --initial-tab
-u, --unix-byte-offsets
-Z, --null
-A NUM, --after-context=NUM
-B NUM, --before-context=NUM
-C NUM, -NUM, --context=NUM
-a, --text
-D ACTION, --devices=ACTION
-d ACTION, --directories=ACTION
-I Process a binary file as if it did not contain matching data; this is equivalent to the --binary-files=without-match option.
-r, --recursive
-R, --dereference-recursive
-U, --binary
-U overrules this guesswork, causing all files to be read and passed to the matching mechanism verbatim; if the file is a text file with CR/LF pairs at the end of each
-z, --null-data

Linuxhase

Antwort
von GWBln, 7

Hättest du die „man page“ gelesen ... oder einfach das Kommando, gefolgt von:

„--help“ oder „-h“ oder „-?“

wären die Optionen klar!

Auch unter Windows kann man sich (in der Konsole) eine Hilfe zum Kommando auf ähnliche Weise beschaffen.

In deinem konkreten Fall:

grep -ic "Wort oder Satz" Datei

Dazu braucht es keine besonderen speziellen Parameter-Konstukte!

Weiterer Hinweis (gültig in meinem Ubuntu, aber wohl auch in anderen Distributionen):

egrep    entspricht "grep -E"
fgrep     entspricht "grep -F"

Antwort
von Schachpapa, 31

RTFM!

man grep

oder wenn du's gerne als Webseite haben willst:

https://wiki.ubuntuusers.de/grep/

Der Parameter ist -c oder auch --count

Kommentar von JamesOffice ,

Oh je ich habe es vorhin gelesen... Ich brauch n Kaffe glaub ich:) Danke für n Hinweis 

Kommentar von JamesOffice ,

Vielleicht kurz noch mal ne Frage:
Das Folgende kommando liefert mir genau das was ich will aber beim letzten Wort "/\spirin" muss ich sagen dass ich glück hatte, denn er wird ausgegeben nur weil er das "\" enthält, da ich nicht weiss wie ich den "/" maskiere.... könntest du bitte mal kurz sagen wie das geht... Danke im Voraus
grep [Aa@/\\]spirin liste.txt

Antwort
von Zyrober, 28

Parameter -c

Kommentar von JamesOffice ,

Great! Thank you!

Keine passende Antwort gefunden?

Fragen Sie die Community