Program Tip

Unix 찾기 : 여러 파일 유형

programtip 2020. 11. 30. 19:47
반응형

Unix 찾기 : 여러 파일 유형


여러 파일 형식으로 find -name을 실행하고 싶습니다. 예 :

 find -name *.h,*.cpp

이것이 가능한가?


$ find . -name '*.h' -o -name '*.cpp'

man페이지 에서이 정보를 찾으려면 man find입력 /OPERATORS하고 Enter 키 를 눌러 연산자를 입력 하고 검색 합니다.

.GNU의 발견에 꼭 필요한 것은, 그러나 유닉스 필요하다. 따옴표는 두 경우 모두 중요하며 이러한 유형의 파일이 현재 디렉토리에 나타나면 오류가 발생합니다.

일부 시스템 (예 : Cygwin)에서 확장 세트를 포함하려면 괄호가 필요합니다.

$ find . \( -name '*.h' -o -name '*.cpp' \)

그게 내가 사용하는 것

find . \( -name "*.h" -o -name "*.cpp" \) -print

find . -name "*.h" -or -name "*.cpp"

나를 위해 작동합니다.


find . -name '*.h' -o -name '*.cc'`

파일 검색에 사용됩니다.

find . \( -name '*.h' -o -name '*.cc' \)`

그들에 대한 명령을 실행하기 위해 작동합니다.

find . \( -name '*.h' -o -name '*.cc' \) -exec egrep "#include" {} \; -print | egrep "^\."

-regex유틸리티를 사용할 수도 있습니다 .

find -E . -iregex ".*\.(js|jsx|html|htm)"

정규식은 전체 절대 경로를 봅니다.

테스트 케이스가있는 해당 정규식에 대한 설명은 https://regex101.com/r/oY1vL2/1을 확인 하십시오.

-E(경로 앞의 플래그로) 확장 된 (최신) 정규식을 활성화합니다.

BSD 용입니다 find(Mac OSX 10.10.5).


그것이 제가 사용하는 것입니다. "-regextype posix-extended"인수를 강력히 권장합니다.

find . -type f -iname "*.log" -o -iname "*.gz" 
find . -type f \( -name "*.gz" -o -name "*.log" \)
find . -type f -regex '.*\(\.gz\|\.log\)'
find . -type f -regextype posix-extended -regex '.*.(log|gz)'

find ./ -name *.csv -o \\-name *.txt|xargs grep -i new

참고 URL : https://stackoverflow.com/questions/7190565/unix-find-multiple-file-types

반응형