Как объединить {a, z} и {1 ..3} для получения выходных данных z 1 2 3 в bash

#bash

#bash

Вопрос:

Недавно я столкнулся со случаем, когда я хотел перечислить что-то похожее на z 1 2 3, используемое при генерации имени файла, чтобы я мог получить file_a.txt file_3.txt См. ниже:

 # echo file_{a,z}.txt
file_a.txt file_z.txt
# echo file_{1..3}.txt
file_1.txt file_2.txt file_3.txt
# echo file_{a,z,1..3}.txt
file_a.txt file_z.txt file_1..3.txt
  

Как вы можете видеть, объединение обоих приведет к отображению чего-то другого, чем я ожидал.

Как я могу написать это выражение диапазона для генерации a z 1 2 3 ?

Ответ №1:

Вы можете вложить одно выражение в другое:

 $ echo file_{a,z,{1..3}}.txt
file_a.txt file_z.txt file_1.txt file_2.txt file_3.txt