Ich versuche eine Suche locate
nur im aktuellen Verzeichnis. Dazu verwende ich den folgenden Ansatz:
locate file | pwd | xargs grep
das Problem besteht darin, dass die Ortungsergebnisse in einem Grep verloren gehen. Wie kann dies funktionieren? Ist das möglich?
Antwort1
Der Ort pwd
ist nicht korrekt. Du kannst es folgendermaßen versuchen:
locate file | xargs grep `pwd`
aber warum nicht einfachls
ls|grep file
Antwort2
Bei der Suche nach Dateien und Ordnern bevorzuge ich diefindenBefehl, weil er flexibler ist.
#to search only in the current folder (without going to subfolders)
find "$(pwd)" -maxdepth 1 -name "*file*"
#to search in the current folder and subfolders
find "$(pwd)" -name "*file*"
Beachten Sie, dass find "$(pwd)"
verwendet wird, um den vollständigen Pfad der von find zurückgegebenen Daten zu drucken. Sie können verwenden find .
, wenn Sie einen relativen Pfad zu Ihrem aktuellen Ordner wünschen.
Wenn nichts gefunden wurde, versuchen Sie es -iname
stattdessen mit.