Ich fand, wenn ich mit grep suche, ohne einen Pfad anzugeben, wie grep -r 'mytext'
es unendlich lange dauert. Wenn ich mit dem angegebenen Pfad suche, grep -r 'mytext' .
findet es in der Zwischenzeit sofort das, was ich brauche. Ich bin also gespannt, in welchem Verzeichnis grep search in der ersten Form ausgeführt wird.
UDATE: grep version: grep (GNU grep) 2.10
foomytextbar
(gefolgt von Enter), nachdem Sie ausgeführt habengrep -r 'mytext'
.grep
ist. Mit der GNU verwendegrep
ich unter Linuxgrep -r 'mytext'
undgrep -r 'mytext' .
mache dasselbe: Suche rekursiv ab dem aktuellen Verzeichnis. Wenn der-r
Schalter benutzt wird, sucht GNUgrep
nicht nach STDIN.grep
2.12 getestet : pastebin.com/L4my26QS In der Zwischenzeit habe ich Folgendes in der NEWS-Datei zu Version 2.11 (2012-03-02) gefunden: "Wenn kein Dateioperand angegeben ist und eine Befehlszeile -r oder eine gleichwertige Option angegeben ist , grep durchsucht nun das Arbeitsverzeichnis. Früher hat grep das -r ignoriert und die Standardeingabe nicht rekursiv durchsucht. Ein -r in GREP_OPTIONS hat diesen neuen Effekt nicht. "Antworten:
Eigentlich sucht es nirgendwo. Es wartet auf die Eingabe von der Standardeingabe.
Versuche dies:
Wenn Sie eine Zeile mit "foo" eingeben und die Eingabetaste drücken, wird diese Zeile wiederholt, andernfalls wird der Cursor in eine neue Zeile verschoben, aber grep gibt nichts aus.
quelle
grep -r PATTERN
mit einer neueren Version von GNU kommentiert habe, liest grep keine Standardeingabe, sondern sucht nach einem Muster im aktuellen Verzeichnis (siehe Commit ). Diese Änderung ist sinnvoll, da Sie wahrscheinlich nicht nach Standardeingaben suchen möchten, wenn Sie-r
flag angeben .Genau wie die vorherige Antwort von Maciek sagt:
Sie können jedoch in das stdin eines bereits laufenden Programms schreiben, wenn Sie / proc zur Verfügung haben, indem Sie Daten in dessen 0-ten ersten Deskriptor leiten:
In einem Terminallauf
und sehen, wie es auf unbestimmte Zeit wartet ... In einem anderen Terminal geben Sie Folgendes ein:
siehe das erste Terminal drucken Hallo und Ihren Benutzernamen.
quelle