{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 를 수행하므로 echo
2 줄이됩니다 .. (내가하고 싶은 것이 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}
그러나 당신은 그것으로부터 어떤 이익도 얻지 못할 것입니다.