Reference/[Command] Linux

[Linux] 파일 내 특정 문자열 찾기 / 특정 문자열을 포함한 파일 찾기

샤꾸리 2023. 1. 30. 09:27

'파일 내 특정 문자열 찾기' 와 '특정 문자열을 포함한 파일 찾기'가 같은 의미인듯 다른의미 인듯 하지만 ... ㅎ

본인이 명령어 사용 시 상황과 명령어가 상이해서 구분 메모

 

[파일 내 특정 문자열 찾기]

grep [옵션] [문자열] [파일명]
grep -r 'error' ./**/*

 

정규식표현으로 찾기

# 특정 파일에서 문자열이 포함된 행을 찾는다.
grep '^[ab]' 파일명 

# 특정 파일에서 a로 시작하는 모든 단어를 찾는다.
grep 'a*' 파일명 

# 특정 파일에서 a로 시작하고 z로 끝나는 5자리 단어를 찾는다.
grep 'a...z' 파일명 

# 특정 파일에서 a,b,c로 시작하는 단어를 모두 찾는다.
grep [a-c] 파일명

# 특정 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.
grep [aA]pple 파일명 

# 특정 파일에서 a나 b로 시작되는 모든 행을 찾는다.
grep '^[ab]' 파일명 

# 특정 파일에서 apple로 시작되고 0나 9의 숫자로 끝나로 시작되는 모든 행을 찾는다.
grep 'apple'[0-9] 파일명

 

grep 명령어 옵션

-c 일치하는 행의 수 출력
-i 대소문자를 구별하지 않음
-v 일치하지 않은 행만 출력
-n 포함된 행의 번호를 함께 출력
-l 패턴이 포함된 파일의 이름을 출력
-w 단어와 일치하는 행만 출력
-x 라인과 일치하는 행만 출력
-r 하위 디렉토리를 포함한 모든 파일에서 검색
-m [숫자] 최대로 표시될 수 있는 결과를 제한
-E 찾을 패턴을 정규 표현식으로 찾음
-F 찾을 패턴을 문자열로 찾음

 

[특정 단어를 포함하는 파일 찾기]

find . -name "*" | xargs grep 'error'

 

 

grep 명령어 일부 내용 출처 : https://coding-factory.tistory.com/802