Почему "find . -Iname "*.jpg" -type f -print0 | xargs -0 rm * " удаляет все файлы?
Ожидаемое поведение состояло в том, чтобы удалить все файлы.jpgs, но он удалил все файлы в каталоге.
Как изменить команду, чтобы найти и удалить все файлы xyz?
1 ответ
Решение
Вы казнили rm * result1.jpg result2.jpg result3.jpg ...
не rm result1.jpg result2.jpg result3.jpg ...
тем самым удаляя все совпадающие *
через расширение оболочки.
Но вам даже не нужно xargs
для этой простой задачи.
Бежать find ... -type f -print
во-первых, если вы не уверены в своем выражении. Убедитесь, что вам понравились результаты.
Затем беги find ... -type f -delete
,