Нужен скрипт оболочки, который удаляет все файлы кроме * .pdf - PullRequest
4 голосов
/ 16 января 2011

Может кто-нибудь написать сценарий оболочки, который удаляет все файлы в папке, кроме файлов с расширением pdf?

Ответы [ 4 ]

14 голосов
/ 16 января 2011

Это будет включать все подкаталоги:

find . -type f ! -iname '*.pdf' -delete

Это будет действовать только в текущем каталоге:

find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
6 голосов
/ 16 января 2011
$ 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
5 голосов
/ 16 января 2011

Это должно сработать:

shopt -s extglob
rm !(*.pdf)
0 голосов
/ 16 января 2011
ls | grep -v '.pdf$' | xargs rm

Это отфильтрует все файлы, которые не заканчиваются в PDF, и выполнит для них RM

...