Oft muss ich aus einem Verzeichnis und unten nach einem Muster in allen Dateien mit einem bestimmten Typ suchen. Zum Beispiel muss ich grep bitten, nicht in andere Dateien als * .h, * .cpp oder * .c zu schauen. Aber wenn ich gebe:Alias für eine Kombination aus grep und find ist erforderlich
grep -r pattern .
es sieht in allen Dateien. Wenn ich ein:
grep -r pattern *.c
es versucht, * .c Dateien im aktuellen Ordner (keine Datei in meinem Fall) und Dateien in * .c Ordnern (keine Ordner in meinem Fall). Ich möchte es auch fragen, in alle Ordner zu schauen, aber nur in Datei mit dem gegebenen Typ. Ich denke, Grep ist nicht genug für diesen Zweck. Also, ich Hilfe von finden auch wie folgt aus:
grep pattern `find . -name '*c'`
Zuerst lassen Sie mich wissen, ob ich richtig über die Hilfe finden zu bekommen. Kann Grep genug sein? Zweitens ziehe ich einen Alias schreiben für bash wie folgt verwendet werden:
mygrep pattern c
auf den gleichen Befehl übersetzt werden vermieden Nutzung von `und 'und einfacher sein. Ich habe versucht:
alias mygrep="grep $1 `find . -name '*$2'`"
Aber es funktioniert nicht und gibt einen Fehler:
grep: c: No such file or directory
Ich habe versucht, es zu ändern, aber ich konnte nicht zu einem erfolgreichen Alias erfolgreich zu sein.
Irgendeine Idee?
nur bestimmte Dateitypen suchen, 'grep -r --include =‚pattern'' .. es gibt auch andere Optionen, wie gut wie '--exclude' und '- '* c.' -exclude-dir' .. in jedem Fall, wie beantwortet, verwenden Sie die Funktion anstelle von Alias – Sundeep