2016-11-19 1 views
0

Ich möchte ein Skript erstellen, das nach Phrasen in Dateien sucht. Ich möchte nicht die Anzahl der Dateien angeben, wo dieses Skript aussehen wird.Wie man eine beliebige Anzahl von Dateien in Grep macht?

+0

Wie werden Sie dem Skript sagen, wo es dann aussehen soll? – choroba

+0

Nicht sicher, was Sie meinen, aber 'grep' kann mehrere Eingabedateien aufnehmen, zum Beispiel' grep foo dir1/* dir2/*. Txt' – Thilo

+0

Ich möchte in 2 Dateien suchen, und ein anderes Mal in 3 Dateien zum Beispiel. – bwnuk

Antwort

0

Wenn Ihr Skript wie ./script phrase ./file1 ./file2 ... aufgerufen werden, dann können Sie grep im Skript wie folgt verwendet werden:

grep "[email protected]" 

Dies ist wahrscheinlich das, was Sie wollen.


Wenn Ihr Skript Optionen, wie ./script option1 phrase option2 ./file1 ..., dann können Sie grep im Skript wie folgt verwendet werden:

grep "$2" "${@:4}" 

Dieser Fall verwendet 2 weil Satz Argument 2 ist, und verwendet 4 weil Die erste Datei ist Argument 4.

+0

Aber ich möchte Skriptnamen dieser Dateien geben. – bwnuk

+0

Können Sie ein Beispiel geben? –

+0

./script.sh Ausdruck Ich möchte dieses Skript so nennen. – bwnuk

0

Sie könnten alle Dateien, die in einem Verzeichnis gesucht werden müssen (zB:/folder/search /) und dann folgendes ausführen:

grep -ri "Phrase to be searched here" /folder/search/ 

Dieser Code würde für die Phrase suchen die Phrase gesucht und passen in Groß- und Kleinschreibung Art und Weise (Bsp .: es würde passen „Phrase“, sondern auch „phrase“) werden.

+0

Aber es funktioniert mit verschiedenen Anzahl von Dateien? – bwnuk

+0

Ja, es wird alle Dateien in diesem Ordner durchsuchen –

Verwandte Themen