현재 VLC에서 여러 파일을 동시에 재생하기 위해 중괄호와 글로빙의 조합을 사용하고 있습니다.
vlc K20-{06,07,08,09,10,11,12,13,14,15,16,17}*
하지만 숫자는 항상 완전한 순서입니다. 좀 더 간단하게 지정할 수 있는 방법이 있을까요?
vlc K20-{06-17}*
? 어쩌면 seq
어떤 식으로든 사용될 수도 있지 않을까요?
나는 사용할 수 있다
$ echo K20-{$(seq -s, -f "%02.0f" 06 17)}*
K20-{06,07,08,09,10,11,12,13,14,15,16,17}*
하지만 확장될 것 같지는 않습니다 *
. 해결 방법이 있나요?
답변1
@steeldriver가 지적했듯이 K20-{06..17}*
다루었습니다.
예를 들어 echo
테스트/검증에 사용합니다.
$ echo vlc K20-{06,07,08,09,10,11,12,13,14,15,16,17}*
vlc K20-06* K20-07* K20-08* K20-09* K20-10* K20-11* K20-12* K20-13* K20-14* K20-15* K20-16* K20-17*
$ echo vlc K20-{06..17}*
vlc K20-06* K20-07* K20-08* K20-09* K20-10* K20-11* K20-12* K20-13* K20-14* K20-15* K20-16* K20-17*
*
현재 작업 디렉토리에 이름과 일치하는 파일이 있는 경우에도 확장됩니다.
이렇게 하면 vlc K20-{06..17}*
원하는 효과를 얻을 수 있습니다.
bash 확장에 대한 자세한 내용을 보려면 다음을 방문하세요.GNU Bash 참조 매뉴얼 - Brace 확장. 또는 man bash
다음에서 읽어보세요:
시퀀스 표현식은 {x..y[..incr]} 형식을 취합니다. 여기서 x와 y는 정수 또는 단일 문자이고 incr(선택적 증분)은 정수입니다.
그래서:
$ echo K20-{06..10}
K20-06 K20-07 K20-08 K20-09 K20-10
$ echo K20-{06..10..2}
K20-06 K20-08 K20-10