Ответ 1
Я предполагаю, что вы хотите скопировать эти файлы в другой каталог:
cp -t target_directory foo_{0..54}.jpg
У меня есть каталог с файлами изображений foo_0.jpg
до foo_99.jpg
. Я хотел бы скопировать файлы foo_0.jpg
через foo_54.jpg
.
Возможно ли это с помощью bash подстановочных знаков?
Я думаю что-то вроде cp foo_[0-54].jpg
, но я знаю, что это выбирает 0-5
и 4
(правильно?)
Кроме того, если это невозможно (или эффективно) с помощью только подстановочных знаков, что было бы лучшим способом сделать это?
Спасибо.
Я предполагаю, что вы хотите скопировать эти файлы в другой каталог:
cp -t target_directory foo_{0..54}.jpg
Мне нравится glenn jackman, но если вы действительно хотите использовать globbing, следующие могут также работать на вас:
$ shopt -s extglob
$ cp foo_+([0-9]).jpg $targetDir
В расширенном globbing +()
соответствует одному или нескольким экземплярам любого выражения в круглых скобках.
Теперь это скопирует ВСЕ файлы с именем foo_
, за которым следует любое число, а затем .jpg
. Это будет включать foo_55.jpg
, foo_139.jpg
и foo_1223218213123981237987.jpg
.
С другой стороны, glenn jackman имеет лучший ответ. Но это дало мне возможность поговорить о расширенном globbing.
ls foo_ [0-9].jpg foo_ [1-4] [0-9].jpg foo_5 [0-4].jpg
Попробуйте с помощью ls, и если это будет хорошо для вас, сделайте копию.
for i in `seq 0 54`; do cp foo_$i.jpg <target>; done