Основываясь на выбранном ответе Марка Манна, я смог получить следующий пример, который прекрасно работает:
$ eval echo\ category_{17,32,33}.properties\{,.bak\}\;
category_17.properties category_17.properties.bak
category_32.properties category_32.properties.bak
category_33.properties category_33.properties.bak
Это показывает, что когда вы используете множественные вхождения фигурных скобок в пределах строки, оригинальный пример Марка напечатал бы каждый вариант по отдельности. Вместо этого я хотел использовать его ответ для перемещения / переименования нескольких файлов. Для того, чтобы гарантировать , что выходной сигнал соответствует формату , который обычно mv
ожидает mv oldfilename newfilename
я избегал второго вхождения расширения распорки, так что она не будет оценена , пока после первоначальной команды eval
была выполнена.
Поскольку вышеприведенный вывод выглядел, как и ожидалось, я смог выполнить следующую команду:
$ eval mv\ category_{17,32,33}.properties\{,.bak\}\;
$ ls
category_17.properties.bak category_32.properties.bak category_33.properties.bak
Большое спасибо Марку за его оригинальный ответ. Пожалуйста, проголосуйте за его ответ, если вам нравится, что его ответ позволил мне сделать :-)