중괄호 확장 및 순서가 지정되지 않은 목록 {txtfile,index}{1..3}.{txt,html} `{txtfile,index}`가 `{txt,html}`에 해당하도록 하고 싶습니다.

중괄호 확장 및 순서가 지정되지 않은 목록 {txtfile,index}{1..3}.{txt,html} `{txtfile,index}`가 `{txt,html}`에 해당하도록 하고 싶습니다.

{txtfile,index}{1..3}.{txt,html}

{txtfile,index}나는 다음을 사용하여 생산 하고 싶습니다 {txt,html}
:
txtfile1.txt
txtfile2.txt
txtfile3.txt
index1.html
index2.html
index3.html


하지만 이 코드는 내가 원하지 않는 모든 가능한 조합을 txtfile1.html생성 하므로 index1.txt
아래 코드는 작동하지 않습니다.
{txtfile,index}{1..3}.{txt,html}

나는 상응하는 목록 확장이 좋을 것이라고 생각했습니다. (그들의 사용 사례는 거의 항상 중괄호 확장과 결합됩니다.)
구문은 다음과 같습니다: {txtfile:index}{1..3}.{txt:html}
길이가 2 이상의 목록에 대해서만 이 함수가 필요하므로 항상 존재 :하므로 해당 목록

이것은 매우for 루프를 사용하는 솔루션 및line..
참고: 이 솔루션은 파일을 수동으로 빠르게 생성하는 데 사용할 수 없습니다.

fileNames=(txtfile index)
fileExtensions=(txt html)
for i in ${!fileNames[@]}; do echo ${fileNames[$i]}{1..3}.${fileExtensions[$i]}; done

한 줄을 복사하여 붙여넣으세요.fileNames=(txtfile index); fileExtensions=(txt html); for i in ${!fileNames[@]}; do echo ${fileNames[$i]}{1..3}.${fileExtensions[$i]}; done

이것이 나쁘더라도 2 를 수행하므로 echo2 줄이됩니다 .. (내가하고 싶은 것이 touch파일을 만드는 것뿐이라면 여전히 작동합니다)

txtfile1.txt txtfile2.txt txtfile3.txt
index1.html index2.html index3.html

답변1

당신은 이것을 과도하게 엔지니어링하고 있습니다.

txtfile{1..3}.txt index{1..3}.html

그게 당신이 필요한 전부입니다.

답변2

목록

txtfile1.txt
txtfile2.txt
txtfile3.txt
index1.html
index2.html
index3.html

다음을 사용하여 생성할 수 있습니다.교정기 확장:

txtfile{1..3}.txt
index{1..3}.html

예:

$ printf '%s\n' txtfile{1..3}.txt index{1..3}.html
txtfile1.txt
txtfile2.txt
txtfile3.txt
index1.html
index2.html
index3.html

단일 중괄호 확장으로 작성할 수 있습니다.

{txtfile{1..3}.txt,index{1..3}.html}

그러나 당신은 그것으로부터 어떤 이익도 얻지 못할 것입니다.

관련 정보