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에서 와일드 카드를 사용하는 예를 보여주는 다음 기사를 읽어 볼 수도 있습니다.
- How to Extract Tar Files to Specific or Different Directory in Linux
- 3 Ways to Delete All Files in a Directory Except One or Few Files with Extensions
- 10 Useful Tips for Writing Effective Bash Scripts in Linux
- How to Use Awk and Regular Expressions to Filter Text or String in Files
공유 할 것이 있거나 질문이있는 경우 아래 의견 양식을 사용하십시오.