Wie kann ich in einer Datei nach Zeichenfolgen suchen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird?

78

Ich habe eine Datei, file1die mit Success...ODER endet success...

Ich möchte grepfür das Wort successauf eine Weise, die nicht zwischen Groß- und Kleinschreibung unterscheidet.

Ich habe den folgenden Befehl geschrieben, aber es wird zwischen Groß- und Kleinschreibung unterschieden

cat file1 | grep "success\.\.\."

Wie kann ich es so ändern, dass es returns 0mit beiden Success...ODER success...

all_techie
quelle

Antworten:

131

Sie können das -iFlag verwenden, bei dem die Groß- und Kleinschreibung Ihres Musters nicht berücksichtigt wird:

grep -iF "success..." file1

Es besteht auch keine Notwendigkeit für cat. grepNimmt eine Datei mit der Syntax grep <pattern> <file>. Ich habe das -FFlag auch verwendet , um nach einer festen Zeichenfolge zu suchen, um nicht den Auslassungspunkten zu entkommen.

Imran
quelle
3
Gibt simple nicht grep -i success file1die gleiche Ausgabe zurück, wie hier erwartet?
User123
7
@ User123 Ja, aber -Fsucht nach der genauen Zeichenfolge, ohne eine Regex-Analyse durchzuführen. Daher ist die Eingabe häufig schneller und einfacher, wenn Sie (wie das OP) Sonderzeichen in der gesuchten Phrase haben
Fund Monica's Lawsuit
Schöne Antwort auf einen Neuling - sagen Sie nicht "Yuck, Sie machen es falsch", sondern "Hier ist die Antwort auf Ihre Frage und eine Bonusverbesserung". Gut gemacht!
CindyH
1

Für mich SQL = echo $line | grep -iF "SQL"; IT funktioniert perfekt

Daljit Sinz
quelle
1
Können Sie erklären, was dies tut?
Ashleedawg