Может ли кто-нибудь написать сценарий оболочки, который удаляет все файлы в папке, кроме тех, у которых есть расширение pdf
?Нужен сценарий оболочки, который удаляет все файлы, кроме * .pdf
ответ
Это будет включать в себя все подкаталоги:
find . -type f ! -iname '*.pdf' -delete
Это будет действовать только в текущем каталоге:
find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
$ ls -1 | grep -v '.pdf$' | xargs -I {} rm -i {}
Или, если вы уверены:
$ ls -1 | grep -v '.pdf$' | xargs -I {} rm {}
Или пуленепробиваемый версия:
$ find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
Это сработало! Спасибо за волшебство – xiamx
Выход ls предназначен для отображения пользователю, а не разобранного. ls может заменить символ или переформатировать имена файлов, чтобы представить его пользователю. – Juliano
'{}' или '" {} "' не имеет никакого отношения к оболочке, это единственный параметр, переданный команде – Juliano
ls | grep -v '.pdf$' | xargs rm
Это будет фильтровать все файлы, которые не заканчиваются PDF и выполнить RM на них
У этого есть проблемы с пробелами ... –
Хм, видимо, это так. Я никогда не замечал этого, спасибо, что указали это! – TyrantWave
Это ужасно! ** Не используйте его: ** анализ вывода 'ls' - это действительно плохая практика, и он будет разбит во многих отношениях (имена файлов с пробелами или начинающиеся с дефиса). –
Это должно сделать трюк:
shopt -s extglob
rm !(*.pdf)
Было бы даже лучше, если бы вы «ломались». –
- 1. Regex, который удаляет все, кроме номера
- 2. Regex, который удаляет все, кроме указанной строки,
- 3. Нужен сценарий оболочки, который рекурсивно идентифицирует все файлы под каталогом более 10 МБ.
- 4. Сценарий, который удаляет все таблицы в Hbase
- 5. Сценарий оболочки, который пишет сценарий оболочки
- 6. Сценарий, который удаляет себя
- 7. Сценарий Bash, который удаляет исходные коды C
- 8. Сценарий, который удаляет себя по ошибке
- 9. Удалить все файлы в каталоге, кроме двух
- 10. Сценарий php, который ищет файлы
- 11. удаляет строки из databse, используя сценарий оболочки
- 12. Убить все файлы, кроме
- 13. Скрипт оболочки, который ищет обычные файлы
- 14. Сценарий оболочки Windows конвертирует все файлы в каталог
- 15. Мне нужен API, который фоном печатает PDF-файлы в ASP.NET.WEBAPI
- 16. Сделать псевдоним/ссылку на сценарий оболочки, который вызывает относительные файлы
- 17. Необходимо создать сценарий оболочки, который принимает параметр
- 18. базовый сценарий оболочки
- 19. Expression, который удаляет файлы для некоторых
- 20. MongoDB db.dropDatabase() удаляет все, кроме одной коллекции
- 21. Python удаляет все дочерние элементы, кроме одного
- 22. сценарий активного каталога оболочки оболочки
- 23. Как написать сценарий оболочки, который отбрасывает все файлы файлов C/C++ в текущем каталоге?
- 24. сценарий оболочки, который переместит все исполняемые файлы в текущем каталоге в отдельную папку
- 25. Получить все файлы, кроме .zip
- 26. Исключить все файлы, кроме двух
- 27. Игнорировать все файлы, кроме одного
- 28. AppleScript с сценарий оболочки, имеющим% "
- 29. Сценарий Gmail не удаляет все сообщения - каждый раз удаляет их
- 30. сценарий оболочки для удаления файлов, где файлы имеют порядковые номера
это также удалит файлы без PDF в подкаталогах – Robokop
@Robokop: исправлено. – Juliano