Ubuntu 16.04 получает повесить случайно

rm -i -- !(*@(a|x).pdf)

Прочитайте как, удалите все файлы, которые не являются a.pdf или x.pdf.

Это работает, используя два расширенных шара, внешний !(), чтобы скрыть содержащиеся в нем glob который сам требует, чтобы glob должен соответствовать одному или нескольким шаблонам a или x до суффикса .pdf. См. Glob # extglob.

$ ls -a
.dotfile1 .dotfile2 a.pdf x.pdf y.zip z.mp3

$ echo -- !(a.pdf)
-- x.pdf y.zip z.mp3

$ echo -- !(x.pdf)
-- a.pdf y.zip z.mp3

$ echo -- !(a.pdf|x.pdf)
-- y.zip z.mp3

$ echo -- !(@(a|x).pdf)   # NOTE.that this matches the .dotfiles* as well
-- . .. .dotfile1 .dotfile2 y.zip z.mp3

$ echo -- !(*@(a|x).pdf)  # but this doesn't
-- y.zip z.mp3

$ echo rm -i -- !(*@(a|x).pdf)
rm -i -- y.zip z.mp3
0
задан 14 August 2017 в 12:26

0 ответов

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

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