Linux und Unix-ähnliche Shells mögen bash Ermöglichen Sie die Verwendung von Globs zur Annäherung der Dateinamen und zur Erleichterung der Dateisuche. Mir ist der Platzhalter glob (*) bekannt. Welche anderen Globs gibt es in bash das kann ich mit gebrauchen grep?
grep -F ) genau wie die meisten anderen Befehle in bash.
bash "- grep ist kein "befehl in bash msgstr "" "aber eine separate ausführbare Datei, die Sie ohne Shell ausführen können, wenn Sie wissen, wie. Sie sollten die um erweiterten Globs sorgfältig unterscheiden bash Vor grep (oder jeder Befehl, der in einer Shell aufgerufen wird) wird sogar von Globs, regulären Ausdrücken oder Ähnlichem ausgeführt, die vom Befehl selbst unterstützt werden.
grep in der Argumentliste. Somit, grep -f *.txt wird sich so etwas wie erweitern grep -f file1.txt file2.txt file3.txt, und grep werde interpretieren file1.txt als die Datei, aus der Suchmuster gelesen werden sollen, und file2.txt und file3.txt als Dateien für die Suche nach diesen Mustern. grep Hat er überhaupt keine Ahnung, dass es sich um ein Glob-Muster handelt, weiß er nur, dass es die Zeichenfolgen "-f", "file1.txt", "file2.txt" und "file3.txt" als Argumente enthält.
set -x (benutzen set +x um dies später wieder rückgängig zu machen). Dann renne grep -f *.txt 1>/dev/null 2>/dev/null (Umleitungen dienen nur dazu, den Befehl selbst zum Schweigen zu bringen). Was auch immer Sie danach sehen + ist der eigentliche Befehl. Versuchen Sie es in Verzeichnissen mit 0, 1 oder mehr passenden Dateien. Sie werden sehen, welche Argumente grep bekommt wirklich.
grepverwendet reguläre Ausdrücke; diese sind anders als Klumpen. EtwasgrepImplementierungen verwenden Globs mit Optionen wie--exclude=GLOBIch denke jedoch, dass diese Optionen von POSIX nicht benötigt werden. Das solltest du also nicht annehmengrepweiß etwas über Klumpen.