
Ich möchte am Ende der Zeile einen Parameter übergeben, während ich im Terminal einen Befehl eingebe.
Ich hätte also gerne so etwas wie das folgende Beispiel
find /path/to/directory -type f -exec grep -irl "SEARCH_PATTERN" {} \;
so etwas wie dieses Format:
find /path/to/directory -type f -exec grep -irl "$1" {} \; < "SEARCH_PATTERN"
und auf diese Weise muss ich nicht jedes Mal hingehen und den Befehl im -irl "SEARCH_PATTERN"
Teil ändern. Stattdessen gebe ich ihn einfach einfacher am Ende der Zeile ein.
Dank im Voraus
Antwort1
Erstellen Sie eine Funktion:
mygrep() { find /path -type f -exec grep -irl "$1" {} +; }
mygrep waldo
Wozu brauchen Sie das eigentlich überhaupt find
?
mygrep() { grep -irl "$1" /path; }
Antwort2
Das Einzige, was mir im Moment für diesen speziellen Fall einfällt, ist, eine Umgebungsvariable SEARCH_PATTERN zu erstellen und sie jedes Mal zu ändern, wenn Sie sie verwenden möchten.
Kurzes Beispiel;
$ SEARCH_PAT="abc"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;
$ SEARCH_PAT="xyz"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;
usw...