Я хочу найти все файлы с расширением .sql в папках и подпапках (рекурсивно).
Как я могу это сделать?
Запустите это в командной строке:
cd / && find | grep '\.sql Измените '/' на каталог, который вы хотите найти.
Команда find
способна выполнить задачу без grep (используя дополнительные опции), но я считаю, что приведенное выше использование более удобно.
По порядку вышеуказанная команда:
- Изменяет текущий каталог на корневой каталог (
cd /
) - Выводит список всех файлов и каталогов в текущем каталоге и ниже (
find
) - Фильтрует файлы и каталоги для всего, что заканчивается на «.sql» (
| grep '\.sql)
)
Измените '/' на каталог, который вы хотите найти.
Команда find
способна выполнить задачу без grep (используя дополнительные опции), но я считаю, что приведенное выше использование более удобно.
По порядку вышеуказанная команда:
cd /
) find
) | grep '\.sql)
locate -br \\.sql$ | egrep '^/folder/path/'
Если он не установлен, предварительно установите его с помощью:
sudo apt install mlocate
Или ...
find $directory_name -name \*.sql
Например
find / -name \*.sql
Или
find ~ \*.sql
(где ~ равно / home / your_username /) или ...
find /usr/local/share/ \*.sql
[ 118] и т. Д.
Я знаю, что это старый пост, но я довольно нов в этом, и я нашел простой способ найти все файлы определенного расширения в каталоге и его дочерних подкаталогах. Итак, сначала вы перейдете к parent Directory
, затем find . -name '*.sql'
, и вы найдете все файлы с расширением .sql в каталогах и их подкаталогах.
В моем случае я хотел удалить все файлы .xml в каталоге и его подкаталогах, так что я сделал больше, добавив удаление, как здесь find . -name '*.xml' | xargs rm