Команда find . -type f -name '*.jpg' -delete удаляет все в текущем каталоге и рекурсивно удаляет файлы оттуда.

Что необходимо обновить в этой команде, чтобы она просто удаляла все файлы в указанном каталоге, например /users/user/desktop?

1 ответ1

3

Команда find принимает свой первый аргумент (аргументы) в качестве директора (ов), в котором нужно выполнить свое действие.

Единственная точка . представляет текущий каталог.  (Две точки .. представляет родительский каталог.)  Это означает, что ваша команда удаляет все файлы с суффиксом .jpg в (и под) текущем каталоге.

Чтобы удалить все файлы с суффиксом .jpg в другом каталоге, например /Users/username/Desktop , вы просто будете использовать

find /Users/username/Desktop -type f -name '*.jpg' -delete
Это также повлияет на все подкаталоги.

Добавьте опцию -maxdepth чтобы ограничить уровни подкаталогов. Команда

find /Users/username/Desktop -maxdepth 1 -type f -name '*.jpg' -delete
удаляет файлы с расширением jpg из папки « Desktop »; он не имеет доступа к папкам внутри (ниже) рабочего стола.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .