Как передать stdout последней команде?

Как передать stdout последней команде?

Я пытаюсь выполнить поиск 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.

Связанный контент