특정 확장자를 가진 파일 찾기


67

또는 확장자 find를 가진 모든 파일을 찾으 려면 어떻게 해야 합니까? 나는 보았다 옵션을하지만 난 그것을 사용하는 방법을 모르겠어요..xls.csv-regex

답변:


115

단순히 이것을 사용하지 않는 이유는 무엇입니까?

find -name "*.xls" -o -name "*.csv"

이를 위해 정규식이 필요하지 않습니다.

정규식을 절대적으로 사용하려면 간단히

find -regex ".*\.\(xls\|csv\)"

8
내 것보다 더 나은 답변. +1.
Paul Tomblin

1
괄호 앞에 백 슬래시가 필요한 이유는 무엇입니까? 나는 그것이 없으면 그것이 작동하지 않는다는 것을 알고 있지만, 그것이 좋아 보인다.

1
기본적으로 emacs 정규식이기 때문입니다. -regextype을 사용하여 변경하십시오.

4
단지 기록을 위해 : 나는 어떤 도구가 그룹화를 위해 "\ ("를 원하고 어떤 "("를 원하는지 기억할 수 없다. 나는 항상 그것을 알아 내려고 노력해야한다.
Joachim Sauer

1
정규식 예제가 작동하지 않습니다
hostmaster

12
find . \( -name  \*.xls -o -name \*.csv \) -print

-o 옵션에 대해 몰랐습니다. 감사!

1
괄호가 필요합니까? 검색 . '('는 -name * .XLS -o -name * .CSV ')'- 인쇄

@Adrian-아뇨, 그렇지 않습니다. "-print"가 아직 기본 동작이 아닌 비 GNU 찾기에서 parens이 필요한지 확실하지 않습니다.
Paul Tomblin

5
글쎄, GNU find (ubuntu 11.04의 기본값)는 parens 및 -print OR (parens 및 -print)없이 올바르게 작동합니다. 그러나 find . -name \*.xls -o -name \*.csv -print.csv와 일치하는 파일 만 출력합니다.
bbaja42

당신 말이 맞아요
Paul Tomblin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.