Удалять, кроме некоторых файлов / каталогов в скрипте; нуждается в пересмотре

У меня такая же проблема, как и этот вопрос. Как удалить все файлы / папки из папки, за исключением нескольких папок? несколько раз. Именно по этой причине я хотел написать сценарий для команды rmnot. Он должен принимать произвольное количество файлов даже с помощью подстановочных знаков, если необходимо, и удалять что-либо (не recursevely) в том же каталоге, кроме этих файлов. Типичный пример:

rmnot *tex *bib *png

Мой скрипт работает, но поскольку я неопытен и хочу изучить его надлежащим образом, есть ли более элегантный способ написать этот скрипт?

[ f2]

PS: Мне нужно использовать ZSH из-за двойной подстановки ${(P)i}, все, что я думаю, будет работать в bash.

====== Оптимизированная версия ==== =

 #!/bin/bash

 insert="-name . -or -name .."

 for i; do
    insert="$insert -or -name $i"
 done

 insert="\( $insert \)"

 find -maxdepth 1 -not $insert -delete
1
задан 13 April 2017 в 15:24

0 ответов

Другие вопросы по тегам:

Похожие вопросы: