найти файл, но не в каталогах с именем X

найти файл, но не в каталогах с именем X

Использование find (особенно того, который в Windows идет с git) для поиска файлов. Я специально хочу проверить весь свой USB-накопитель, но не в папках, которые начинаются с точки (особенно .git и .vs) и не в папке с названием photos (много-много фотографий с отпуска и дня рождения, моего файла там нет).

Как мне игнорировать эти каталоги?

решение1

find . -type d \( -name .git\* -o -name .vs\* -o name photos \) -prune -o -type f -print

Приведенная выше команда findвоздержится от входа в указанные каталоги, а во всех остальных случаях отобразит имена найденных объектов, которые являются обычными файлами.

решение2

Используйте следующую команду

find . \( ! -name .vs ! -name .git ! -name photos \)  -print

Где

. first is the current directory

Вы можете изменить свое местоположение по вашему желанию.

Или вы также можете использовать следующую команду

find .  -not -path "./.git/*" -not -path "./.vs/*" -not -path "./photos/*"

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