Linux

Linux 와일드카드

Bithub 2024. 3. 14. 22:32
728x90

 

touch abc.txt abc a123.txt bcd.txt
ls
a123.txt  abc  abc.txt  bcd.txt

ls *.txt
a123.txt  abc.txt  bcd.txt


*

0개 이상의 임의의 문자에 대응됨.

 

touch abc.txt abc a123.txt bcd.txt
ls
a123.txt  abc  abc.txt  bcd.txt

ls ???.txt
abc.txt  bcd.txt

?

1개의 임의의 문자에 대응됨.

 

touch a1.txt a2.txt a3.txt
ls
a1.txt  a2.txt  a3.txt

echo a[123].txt
a1.txt a3.txt

[ ]

대괄호 안에 있는 문자들에 대해 하나의 문자와 일치

 

touch a1.txt a2.txt a3.txt
ls
a1.txt  a2.txt  a3.txt

echo a[0-9].txt
a1.txt a2.txt a3.txt

[범위]

 

 

 

ASCII는 OS에 따라 지원하지 않을 수 있으니 POSIX syntax를 익혀두자.

ls
a1.txt  a2.txt  a3.txt

echo a[[:digit:]].txt
a1.txt a2.txt a3.txt

 

 

ls
a1.txt a2.txt ab.txt ac.txt

echo a[^[:digit:]].txt
ab.txt ac.txt

 

^(여집합) 활용

 

ls
abc 123

echo [[:alpha:]][[:alpha:]][[:alpha:]]
abc

 

POSIX 와일드카드는 연달아 사용 가능하다.

* 참고 : echo 명령어는 와일드카드에 해당하는 파일이 존재하지 않는다면 단순 문자로 해석한다.