폴더 및 하위 폴더에서 확장자가 .sql 인 모든 파일 검색


17

폴더 및 하위 폴더에서 .sql 확장자를 가진 모든 파일을 검색하고 싶습니다 (재귀 적).

어떻게해야합니까?

답변:


29

또는...

find $directory_name -name \*.sql

예를 들어

find / -name \*.sql

또는

find ~ \*.sql

(여기서 ~는 / home / your_username /과 동일) 또는 ...

find /usr/local/share/ \*.sql

기타 등등.


2

명령 행에서 이것을 실행하십시오 :

cd / && find | grep '\.sql$'

'/'를 검색하려는 디렉토리로 변경하십시오.

find명령은 grep없이 작업을 수행 할 수 있지만 (추가 옵션 사용) 위의 사용법이 더 편리하다는 것을 알았습니다.

위의 명령을 순서대로 수행하십시오.

  1. 현재 디렉토리를 루트 디렉토리 ( cd /)로 변경
  2. 현재 디렉토리와 그 아래에있는 모든 파일과 디렉토리를 나열합니다 ( find).
  3. '.sql'( | grep '\.sql$')로 끝나는 모든 파일과 디렉토리를 필터링합니다.

고마워, 설명 할 수있어? grep을 사용하고 출력을 전달하여 찾을 수 있습니까?
Blankman

실제로 그 반대도 마찬가지입니다. find를 사용하여 grep에 출력을 전달하고 있습니다. 위에 더 자세한 설명을 추가했습니다.
Barbarrosa

이것은 Mac에서도 작동합니까? 나는 '찾기를 시도 | grep '\ .sql $'및 사용법 도움말 정보를 출력했습니다.
Blankman December

find는 강력한 도구이므로 출력을 grep에 파이프 할 필요가 없습니다. 이것은 좋은 링크입니다 -content.hccfl.edu/pollock/unix/findcmd.htm
Panther

1
find이미 필터 기능이있다
enzotib

1

나는 이것이 오래된 게시물이라는 것을 알고 있지만 이것에 대해 전혀 새로운 것이 아니며 디렉토리와 하위 하위 디렉토리에서 특정 확장자의 모든 파일을 쉽게 찾을 수있는 방법을 찾았습니다. 글쎄 당신은 먼저 parent Directory그때로 이동하면 .sqlfind . -name '*.sql' 이있는 모든 파일을 찾을 수 있습니다. 하면 디렉토리와 그 하위 디렉토리에 확장자 .

필자의 경우 디렉토리와 하위 디렉토리의 모든 .xml 파일 을 삭제하고 싶었 으므로 여기에서와 같이 제거를 추가했습니다.find . -name '*.xml' | xargs rm

이것이 누군가를 돕기를 바랍니다 :)


2
find-delete명령을 이해합니다 . 관여 할 필요가 없습니다 rm. 또는 -exec명령을 사용하여 파이프와를 통해 우회하지 않고 직접 호출 할 수 있습니다 xargs.
David Foerster

0
locate -br \\.sql$ | egrep '^/folder/path/'

설치되어 있지 않은 경우 이전에 다음을 설치하십시오.

sudo apt install mlocate

이를 위해서는 mlocate.dbUbuntu에서 즉시 설정하지 않은 최신 인스턴스가 필요합니다 (나는 믿는다). 또한 왜 간단하지 locate '/folder/path/*.sql'않습니까?
David Foerster

@DavidFoersterI 지정한대로 시도했지만 작동하지 않습니다. locate정규 표현식에 사용 된 정규 표현식과 다른 설정이 있다고 생각합니다 .egrep
Vzzarr

locate/folder/path/*.sql정규 표현식이 아닌와 같은 glob 표현식과 일치 합니다.
David Foerster

미안하지만, man locate나는 -r, --regexp REGEXP - Search for a basic regexp REGEXP정규식이라고 생각했습니다. 어쨌든 나는 당신의 "글로벌 표현"을 시도했지만 작동하지 않습니다, 죄송합니다
Vzzarr

당신이 시작하기 전에 적어도 설명의 처음 몇 문장을 읽어 보시기 바랍니다 옵션 synposis에서 체리 - 선택 : "만약이 --regex지정되지 않은 경우 PATTERN의 문자를 globbing을 포함 할 수 있습니다."( 소스 )
데이비드 푀르 스터에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.