rm all but…

Иногда возникает такая вот задача: нужно удалить все файлы, кроме одного (или пары) из них. Раньше я не знал, как это сделать, но вчера научился — слава commandlinefu!

Итак, сначала вариант для моего любимого ZSH:

$ setopt extended_globs
$ rm ^file # удаляем всё, кроме file
$ rm ^(some|files) # удаляем всё, кроме some и files

А теперь — для BASH:

$ shopt -s extglob
$ rm !(file)
$ rm !(some|files)

Comments (migrated from Blogger)

On 2010-11-21T19:41:15.990+02:00, Artist wrote:

Занесём в копилочку знаний

Drop me a line! (wonder where’s the comments form?)