터미널에서 파일 검색 시, 와일드 카드 사용하기

와일드 카드를 사용하여 같은 타입을 가진 파일들을 쉽게 검색, 이동, 복사 등을 하는 방법에 관한 글입니다. 기본적인 커맨드인 cd, cp, mv, ls 등에 익숙하시지 않으시다면, 먼저 아래 글들을 읽고 오시면 도움이 될 듯합니다.


쉘 와일드 카드

  • * : 별표(Asterisk)는 특정 수의 모든 문자가 될 수 있습니다. 예를 들면, chap*라고 명하게 되면, chapter, chaptre, chapa, chapabcd 등이 모두 포함되게 됩니다. 또한 a*b라고 명하면, abcb, adeb 등이 모두 포함됩니다.
  • ? : 물음표(Question mark)는 단일 캐릭터를 의미합니다. 예를 들면, h?p이라고 명하면, hip 또는 hop을 모두 의미합니다.
  • [] : 괄호안의 의미는 괄호한의 숫자 혹은 문자 범위 안의 한개의 캐릭터입니다. 예를 들어, [cC]hapter 라고 한다면, chapter, Chapter가 포함됩니다. cChapter는 포함되지 않습니다. 또한, – 로 범위를 지정할 수 있는데, chapter[1-3]라고 하면 chapter1, chapter2, chapter3이 다 포함되게 됩니다.
  • {} : 괄호 안의 숫자 혹은 문자 내의 내부 패턴까지 같이 묶어줍니다. 예를 들어, a{c,h,a}p는 aap, acp, ahp를 포함하게 됩니다.

예시

와일드 카드를 사용하는 몇가지 예시입니다. 개인적인 기록 용도로 적어두어 내용이 많이 부족할 수 있습니다. ▼

~/Test (529) $ls chap?.txt
chap1.txt    chap3.txt    chap5.txt
chap2.txt    chap4.txt    chap6.txt
 
~/Test (530) $ls chap[1-2].txt
chap1.txt    chap2.txt
 
~/Test (532) $ls chap*.txt
chap.txt        chap2.txt        chap4.txt
chap1.example.txt    chap3.example.txt    chap5.txt
chap1.txt        chap3.txt        chap6.txt
chap2.example.txt    chap4.example.txt
 
~/Test (533) $ls *.example.txt
chap1.example.txt    chap3.example.txt
chap2.example.txt    chap4.example.txt
 
~/Test (535) $ls c*t
chap.txt        chap2.txt        chap4.txt
chap1.example.txt    chap3.example.txt    chap5.txt
chap1.txt        chap3.txt        chap6.txt
chap2.example.txt    chap4.example.txt

범위가 워낙 넓다보니, 아주 간단한 예시만 담게 되었습니다. 사실, 와일드카드의 효율은 사용자의 창의력, 순발력, 경험 등에 비례해서 점점 더 강력해진다고 생각합니다. ‘Regular Expression(정규표현식)’을 같이 공부하는 것도 도움이 될 듯합니다.


이상입니다.

 

3 COMMENTS

댓글 남기기