Как удалить все файлы с таким же расширением, кроме одного с rm - PullRequest
0 голосов
/ 21 октября 2019

Я хочу удалить все файлы с расширением .o, кроме конкретного примера .o, как я могу это сделать с помощью команды rm? Редактировать: Среда: zsh

Ответы [ 2 ]

2 голосов
/ 21 октября 2019

В zsh вы можете использовать KSH_GLOB, который работает как extglob из bash:

setopt KSH_GLOB

echo rm !(example).o

Другой вариант - использовать extended_glob с немного другим синтаксисом глобализации:

setopt extended_glob

echo rm (^example).o

Где ^ используется для отрицания.

Как только вы удовлетворены результатом, удалите echo перед rm.

0 голосов
/ 21 октября 2019

Может ли быть что-то вроде этого?

 find -iname '*.o' -not -iname 'example.o' -execdir rm {} \;
...