Der -maxdepth
Option sollte vor -name
stehen Option, wie unten.,
find . -maxdepth 1 -name "string" -print
Verwenden Sie find
:
find . -maxdepth 1 -name "*string*" -print
Es findet alle Dateien im aktuellen Verzeichnis (löschen Sie maxdepth 1
wenn Sie es rekursiv wollen) mit "String" und wird es auf dem Bildschirm ausgeben.
Wenn Sie vermeiden möchten, dass eine Datei „:“ enthält, können Sie Folgendes eingeben:
find . -maxdepth 1 -name "*string*" ! -name "*:*" -print
Wenn Sie grep
verwenden möchten (aber ich denke, es ist nicht notwendig, da Sie den Dateiinhalt nicht überprüfen möchten) Sie können verwenden:
ls | grep touch
Aber, ich wiederhole, find
ist eine bessere und sauberere Lösung für Ihre Aufgabe.
Verwenden Sie grep wie folgt:
grep -R "touch" .
-R
bedeutet Rückfall. Wenn Sie lieber nicht in die Unterverzeichnisse gehen möchten, überspringen Sie es.
-i
bedeutet "Groß-/Kleinschreibung ignorieren". Vielleicht finden Sie das auch einen Versuch wert.
find $HOME -name "hello.c" -print
Dadurch wird der gesamte $HOME
durchsucht (z.B. /home/username/
) System für alle Dateien mit dem Namen „hello.c“ und zeigt ihre Pfadnamen an:
/Users/user/Downloads/hello.c
/Users/user/hello.c
Es wird jedoch nicht mit HELLO.C
übereinstimmen oder HellO.C
. Um die Groß-/Kleinschreibung zu berücksichtigen, übergeben Sie -iname
Option wie folgt:
find $HOME -iname "hello.c" -print
Beispielausgaben:
/Users/user/Downloads/hello.c
/Users/user/Downloads/Y/Hello.C
/Users/user/Downloads/Z/HELLO.c
/Users/user/hello.c
Übergeben Sie die -type f
Option, nur nach Dateien zu suchen:
find /dir/to/search -type f -iname "fooBar.conf.sample" -print
find $HOME -type f -iname "fooBar.conf.sample" -print
Die -iname
funktioniert entweder mit dem GNU- oder BSD-Befehl (einschließlich OS X) Version find. Wenn Ihre Version des Find-Befehls -iname
nicht unterstützt , versuchen Sie die folgende Syntax mit grep
Befehl:
find $HOME | grep -i "hello.c"
find $HOME -name "*" -print | grep -i "hello.c"
ODER versuchen Sie es
find $HOME -name '[hH][eE][lL][lL][oO].[cC]' -print
Beispielausgaben:
/Users/user/Downloads/Z/HELLO.C
/Users/user/Downloads/Z/HEllO.c
/Users/user/Downloads/hello.c
/Users/user/hello.c