Linux에서 와일드카드 일치를 기반으로 현재 폴더와 하위 폴더의 모든 파일을 재귀적으로 찾는 방법

Linux에서 와일드카드 일치를 기반으로 현재 폴더와 하위 폴더의 모든 파일을 재귀적으로 찾는 방법

파일을 찾기 위해 디렉토리 트리를 탐색하는 것은 대부분의 파일 시스템 관리 소프트웨어에서 수행되는 일반적인 작업입니다. 이 유틸리티는 대부분의 운영 체제에서 명령줄 명령 형식입니다. 이 문서에서는 Linux 운영 체제에서 와일드카드 일치를 사용하여 파일을 찾는 방법을 알아봅니다.

디렉토리 트리에서 반복적으로 파일 찾기

의 사용 명령 찾기 임무를 수행하기 위해 만들어졌을 것이다. 's' 명령은 디렉토리 계층 구조에서 파일을 검색하는 데 사용됩니다. find 명령의 도움말 페이지는 다음과 같습니다.

find 명령과 -name 스위치는 디렉토리에서 원하는 파일을 찾습니다. 스위치는 find 명령이 찾아야 할 이름(또는 패턴)을 제공합니다. 따라서 최종 명령은 다음과 같습니다.

find -name 'Re_Pattern' 

파일 이름에 Re_Pattern이 포함된 모든 파일이 결과로 표시됩니다. 패턴에는 리터럴 문자나 일련의 와일드카드 표현식이 포함될 수 있습니다. 이러한 패턴에 사용되는 두 개의 와일드카드는 다음과 같습니다.

* => 어떤 문자든 여러 번(존재하지 않을 수도 있음)

? => 한 캐릭터가 있어야 합니다.

작업이 수행되는 디렉터리는 다음과 같습니다.

일부 파일과 하위 디렉터리를 포함하는 디렉터리

단순화를 위해 하위 디렉터리는 비어 있습니다. 따라서 생성된 모든 효과는 이 디렉터리의 파일에서만 볼 수 있습니다. 디렉토리 내에서 검색되는 파일은 다음과 같은 명령을 사용하는 apple입니다.

find -name 'apple' 

디렉토리에 있는 파일 중 하나만 apple이라는 이름을 갖고 있으므로 출력에는 이름이 하나만 표시됩니다. 그러나 *(별표)와 같이 와일드카드를 포함하는 경우:

find -name '*apple*' 

우리는 이름에 apple이 포함된 모든 파일의 결과를 얻었습니다. 마찬가지로 이러한 와일드카드를 조합하여 사용할 수도 있습니다. 전. 이름에 4자가 포함된 모든 파일을 얻으려면 다음 명령을 사용하세요.

find -name '????' 

따라서 이 두 개의 와일드카드를 사용하면 여러 파일 이름을 인식하기 위한 패턴 배열을 만들 수 있습니다. find 명령에는 더 많은 출력 합리화를 허용하는 다른 스위치가 포함되어 있습니다.