웹사이트 검색

Linux에서 와일드카드를 사용하여 파일 이름을 일치시키는 10가지 실제 사례


와일드카드(메타 문자라고도 함)는 다른 문자를 나타내는 기호 또는 특수 문자입니다. ls 명령 또는 rm 명령과 같은 명령과 함께 사용하여 주어진 기준과 일치하는 파일을 수용적으로 나열하거나 제거할 수 있습니다.

또한 읽어 보세요: Linux의 연결 연산자에 대한 10가지 유용한 실제 예

이러한 와일드카드는 셸에서 해석되며 결과는 실행하는 명령에 반환됩니다. Linux에는 세 가지 주요 와일드카드가 있습니다.

  • 별표 (*) – 문자가 없는 경우를 포함하여 모든 문자가 하나 이상 일치합니다.
  • 물음표 (?) – 단일 문자 발생을 나타내거나 일치시킵니다.
  • 대괄호 문자 ([ ]) – 대괄호로 묶인 모든 문자와 일치합니다. 숫자, 문자, 기타 특수 문자 등 다양한 유형의 문자(영숫자 문자)를 사용할 수 있습니다.

올바른 파일 이름을 일치시키기 위해 사용할 와일드카드를 신중하게 선택해야 합니다. 아래 예에 설명된 대로 모든 와일드카드를 하나의 작업으로 결합하는 것도 가능합니다.

Linux에서 와일드카드를 사용하여 파일 이름을 일치시키는 방법

이 기사의 목적에 따라 다음 파일을 사용하여 각 예를 설명합니다.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. 이 명령은 이름이 l(접두사)로 시작하고 하나 이상의 문자로 끝나는 모든 파일과 일치합니다.

ls -l l*	

2. 이 예에서는 users-0 접두사가 붙고 하나 이상의 문자로 끝나는 모든 파일 이름을 복사하기 위해 *를 사용하는 또 다른 방법을 보여줍니다.

mkdir -p users-info
ls users-0*
mv -v users-0* users-info/	# Option -v flag enables verbose output

3. 다음 명령은 이름이 l로 시작하고 그 뒤에 단일 문자가 오고 st.sh(접미사인)로 끝나는 모든 파일과 일치합니다. ).

ls l?st.sh	

4. 아래 명령은 이름이 l로 시작하고 그 뒤에 대괄호 안의 문자가 오지만 st.sh로 끝나는 모든 파일과 일치합니다. .

ls l[abdcio]st.sh 

Linux에서 파일 이름과 일치하도록 와일드카드를 결합하는 방법

다음 예에 설명된 대로 와일드카드를 결합하여 기준과 일치하는 복잡한 파일 이름을 작성할 수 있습니다.

5. 이 명령은 st가 뒤에 오는 임의의 두 문자로 시작되지만 하나 이상의 임의 문자로 끝나는 모든 파일 이름과 일치합니다.

ls
ls ??st*

6. 이 예는 [clst] 문자로 시작하고 하나 이상의 문자로 끝나는 파일 이름과 일치합니다.

ls
ls [clst]*

7. 이 예에서는 [clst] 문자로 시작하고 그 뒤에 [io] 중 하나가 오는 파일 이름만 사용됩니다. 문자, t, 마지막으로 하나 이상의 문자가 나열됩니다.

ls
ls [clst][io]?t*

8. 여기에서 하나 이상의 임의 문자가 앞에 붙고 그 뒤에 tar 문자가 오고 하나 이상의 임의 문자로 끝나는 파일 이름이 제거됩니다.

ls
rm *tar*
ls

Linux에서 문자 집합을 일치시키는 방법

9. 이제 문자 집합을 지정하는 방법을 살펴보겠습니다. 시스템 사용자 정보가 포함된 아래 파일 이름을 고려하세요.

ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

이 명령은 이름이 users-i로 시작하고 숫자, 소문자 또는 숫자, 숫자, 하나 이상의 임의 문자로 끝나는 모든 파일을 일치시킵니다.

ls users-[0-9][a-z0-9][0-9]*

다음 명령은 users-i로 시작하고 숫자, 소문자 또는 대문자 문자 또는 숫자, 숫자, 하나 이상의 임의 문자로 끝나는 파일 이름을 일치시킵니다.

ls users-[0-9][a-zA-Z0-9][0-9]*

다음에 나오는 이 명령은 users-i로 시작하고 그 뒤에 숫자, 소문자 또는 대문자, 소문자 또는 대문자가 오고 하나 이상의 다음 항목으로 끝나는 모든 파일 이름과 일치합니다. 어떤 캐릭터.

ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Linux에서 문자 세트를 부정하는 방법

10. ! 기호를 사용하여 문자 집합을 부정할 수도 있습니다. 다음 명령은 users-i로 시작하는 모든 파일 이름, 숫자, 숫자를 제외한 유효한 파일 이름 지정 문자, 소문자 또는 대문자 및 하나 이상의 임의 항목으로 끝나는 모든 파일 이름을 나열합니다. 성격.

ls users-[0-9][!0-9][a-zA-Z]*

지금은 여기까지입니다! 위의 예를 시도했다면 이제 Linux에서 파일 이름을 일치시키기 위해 와일드카드가 작동하는 방식을 잘 이해했을 것입니다.

Linux에서 와일드카드를 사용하는 예를 보여주는 다음 기사를 읽어볼 수도 있습니다.

  1. Linux에서 Tar 파일을 특정 또는 다른 디렉터리로 추출하는 방법
  2. 확장자가 있는 하나 또는 몇 개의 파일을 제외하고 디렉터리에서 모든 파일을 삭제하는 3가지 방법
  3. Linux에서 효과적인 Bash 스크립트를 작성하기 위한 10가지 유용한 팁
  4. Awk 및 정규식을 사용하여 파일의 텍스트 또는 문자열을 필터링하는 방법

공유할 내용이나 질문할 내용이 있으면 아래 의견 양식을 사용하세요.