패턴에서 영숫자 문자열 생성

패턴에서 영숫자 문자열 생성

예를 들어 내 스키마에서 호스트 이름을 생성하고 싶습니다. inc-[tnc][app|web][1-10]다음과 같이 출력되어야 합니다.

inc-tapp1
inc-tapp2
.
.
inc-tapp10
inc-napp1
.
.
inc-capp10
inc-tweb1
.
.
inc-cweb10

여기서 t,n,c는 텍사스, 뉴욕, 캘리포니아에 위치한 데이터 센터를 나타냅니다.

답변1

bash 확장을 사용하십시오.

$ echo inc-{t,n,c}{app,web}{1..10}
inc-tapp1 inc-tapp2 inc-tapp3 inc-tapp4 inc-tapp5 inc-tapp6 inc-tapp7 inc-tapp8 inc-tapp9 inc-tapp10 inc-tweb1 inc-tweb2 inc-tweb3 inc-tweb4 inc-tweb5 inc-tweb6 inc-tweb7 inc-tweb8 inc-tweb9 inc-tweb10 inc-napp1 inc-napp2 inc-napp3 inc-napp4 inc-napp5 inc-napp6 inc-napp7 inc-napp8 inc-napp9 inc-napp10 inc-nweb1 inc-nweb2 inc-nweb3 inc-nweb4 inc-nweb5 inc-nweb6 inc-nweb7 inc-nweb8 inc-nweb9 inc-nweb10 inc-capp1 inc-capp2 inc-capp3 inc-capp4 inc-capp5 inc-capp6 inc-capp7 inc-capp8 inc-capp9 inc-capp10 inc-cweb1 inc-cweb2 inc-cweb3 inc-cweb4 inc-cweb5 inc-cweb6 inc-cweb7 inc-cweb8 inc-cweb9 inc-cweb10
$ 

또는 각각 사이에 줄 바꿈을 원하면 tr을 통해 파이프하십시오.

$ echo inc-{t,n,c}{app,web}{1..10}|tr " " "\n"
inc-tapp1
inc-tapp2
inc-tapp3
[etc]

답변2

쉘 지원 확장을 사용할 수 있습니다

bash$ echo a{d,c,b}e
ade ace abe

http://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html#Brace-Expansion

관련 정보