Я пытаюсь выполнить поиск locate
только в текущем каталоге, для этого я использую следующий подход:
locate file | pwd | xargs grep
проблема в том, что результаты поиска теряются в grep, как это можно сделать для работы, это возможно?
решение1
Место pwd
не верное. Вы можете попробовать это так:
locate file | xargs grep `pwd`
но почему бы не использовать простоls
ls|grep file
решение2
При поиске файлов и папок я предпочитаюнаходитькоманда, потому что она более гибкая.
#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*"
Обратите внимание, что find "$(pwd)"
используется для вывода полного пути к тому, что возвращает find. Вы можете использовать find .
, если вам нужен относительный путь к текущей папке.
Если ничего не найдено, попробуйте использовать -iname
.