Wenn ich den Befehl verwende:
find . | xargs grep '...'
Ich bekomme die falschen Streichhölzer. Ich versuche, nach der Zeichenfolge zu suchen ...
in allen Dateien des aktuellen Ordners.
Wenn ich den Befehl verwende:
find . | xargs grep '...'
Ich bekomme die falschen Streichhölzer. Ich versuche, nach der Zeichenfolge zu suchen ...
in allen Dateien des aktuellen Ordners.
Wie Andy White sagte, müssen Sie die fgrep
für die Übereinstimmung mit einfachen .
oder die Punkte zu umgehen.
Sie müssen also schreiben ( -type f
ist es, nur die Dateien zu haben: die Verzeichnisse wollen Sie natürlich nicht). :
find . -type f | xargs fgrep '...'
oder wenn Sie trotzdem grep verwenden möchten:
find . -type f | xargs grep '\.\.\.'
Und wenn Sie nur die aktuell Verzeichnis und nicht dessen Unterverzeichnisse:
find . -maxdepth 1 -type f | xargs fgrep '...'
'.' passt auf jedes beliebige Zeichen, so dass Sie alle Zeilen finden, die 3 oder mehr Zeichen enthalten.
Sie können die Punkte entweder auslassen, etwa so:
find . | xargs grep '\.\.\.'
Oder Sie können fgrep verwenden, das anstelle einer Regex-Übereinstimmung eine literale Übereinstimmung durchführt:
find . | xargs fgrep '...'
(Einige Versionen von grep akzeptieren auch ein -F Flag, das sie sich wie fgrep verhalten lässt).
Wenn Sie nach einem Dateiname das passt, versuchen Sie es:
find . -name "filename pattern"
ou
find . | grep "filename pattern"
Wenn Sie auf der Suche sind nach Dateien die übereinstimmen (d.h. sie enthalten die grep-Zeichenfolge)
find . | xargs grep "string pattern"
funktioniert gut. oder einfach:
grep "string pattern" -R *
Wenn Sie buchstäblich tippen grep '...'
finden Sie so gut wie jede Zeichenkette. Ich bezweifle, dass Sie tatsächlich tippen '...'
für Ihren grep-Befehl, aber wenn Sie das tun, wird die ...
passt auf drei beliebige Zeichen.
Bitte geben Sie mehr Informationen darüber an, wonach Sie suchen, und vielleicht kann Ihnen jemand weiterhelfen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.