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


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

또한 읽기 : Linux에서 연산자 연결에 대한 10 가지 유용한 실제 예제

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

  • An asterisk (*) – matches one or more occurrences of any character, including no character.
  • Question mark (?) – represents or matches a single occurrence of any character.
  • Bracketed characters ([ ]) – matches any occurrence of character enclosed in the square brackets. It is possible to use different types of characters (alphanumeric characters): numbers, letters, other special characters etc.

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

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. How to Extract Tar Files to Specific or Different Directory in Linux
  2. 3 Ways to Delete All Files in a Directory Except One or Few Files with Extensions
  3. 10 Useful Tips for Writing Effective Bash Scripts in Linux
  4. How to Use Awk and Regular Expressions to Filter Text or String in Files

공유 할 것이 있거나 질문이있는 경우 아래 의견 양식을 사용하십시오.