[Linux/리눅스]grep, egrep, fgrep, find - 파일 찾기
코코._.
·2021. 6. 16. 13:38
728x90
grep
grep은 파일에서 특정 문자열을 찾는데 사용되는 명령어이다. 메타문자를 활용하면 조건을 활용하여 더 상세한 검색이 가능하다.
[사용법]
grep [옵션] [찾을 문자열] [파일명] |
[옵션]
-c | 해당 문자열이 들어있는 라인의 개수를 출력 |
-n | 라인의 번호를 함께 출력 |
-i | 문자열의 대소문자 구분 없이 검색 |
-l | 문자열을 포함하는 파일의 이름만 출력 |
-v | 문자열이 포함되어 있지 않은 라인만 출력 |
-w | 문자와 한 단어로 일치해야 출력 |
-x | 패턴이 전체 줄과 일치하는 줄만 출력 |
[메타문자]
메타문자 | 역할 | 예시 | 설명 |
^ | 줄의 시작을 지정 | ^abc | abc로 행이 시작되는 경우 출력 |
$ | 줄의 끝을 지정 | abc$ | abc로 행이 끝나는 경우 출력 |
. | 하나의 문자와 대응 | a...c | a다음에 임의의 3글자가 있고 c가 나오는 문자열 출력 |
* | 0개 혹은 임의 개수의 문자와 대응 | *abc | abc 앞에 공백 혹은 다른 문자가 있을 경우 출력 |
[] | []안의 문자와 대응 | [abc]de | 'a' 'b' 'c' 중 하나 이상의 문자가 일치하고 뒤에 'de'가 붙는 경우 출력 |
[^] | []안의 문자를 제외한 문자와 대응 | [^abc]de | 'a' 'b' 'c'에 해당하지 않는 문자 뒤에 'de'가 붙는 경우 출력 |
egrep
egrep이란 여러개의 문자열을 동시에 찾을 수 있는 명령어이다. 또한 메타문자 이외에 정규표현식 메타문자가 추가 되었다.
[사용법]
egrep [옵션] [패턴] [파일명] |
[정규표현식 메타문자]
+ | +앞의 표현식이 1회 이상 나타남 |
? | ? 앞의 표현식이 0회 또는 1회 나타남 |
| | 문자열간의 OR 연산자 |
() | 정규 표현식을 둘러쌈 |
fgrep
fgrep는 grep과 동일하나, 문자열 부분에 위치한 모든 문자를 "문자"로 취급한다. 따라서, 특수문자가 들어간 문자 검색이 가능하다.
[사용법]
fgrep [옵션] [찾을 문자열] [파일명] |
find
find는 원하는 파일이나 디렉터리를 찾아주는 명령어이다. 파일명, 파일 사이즈, 파일타입 등으로 검색이 가능하다.
[사용법]
find [검색할 위치] [옵션] [Action] |
[옵션]
-empty | 빈 파일 |
-uid n | 파일의 소유자 ID가 n인 파일 |
-gid n | 그룹ID가 n인 파일 |
-group 그룹명 | 지정한 그룹명에 소속된 파일 |
-name 파일명 | 파일명이 일치하는 파일 |
-newer 파일 | 지정한 파일보다 더 최근에 변경된 적이 있는 파일 |
-used n | 파일 수정 후 최근 n일 이후에 접근한 적이 있는 파일 |
-amin n | n분 전에 접근한 적이 있는 파일 |
-mmin n | n분 전에 수정한 적이 있는 파일 |
-anerwer 파일명 | 지정한 파일보다 더 최근에 접근한 적이 있는 파일 |
-atime n | 최근 n*24 시간 전에 접근한 적이 있는 파일 |
-mtime n | 최근 n*24 시간 이전에 변경된 적이 있는 파일 |
-nogroup | 소속그룹이 존재하지 않는 파일 |
-nouser | 소유자가 없는 파일 |
-path 패턴 | 지정된 문자열 패턴에 해당하는 경로에서 검색. |
-size n[cwbk] | n의 디스크공간을 차지하는 파일. 파일용량이 아닌 파일이 차지하는 공간 (c:byte/w:2byte/b:블록단위/k:kbytes) |
-type [bcdpfls] | 지정한 파일타입에 해당하는 파일 (b:블럭파일/c:특정 문자/d:디렉토리/p:파이프/f:정규표현 일반파일/l:링크/s:소켓) |
[Action]
-delete : 검색된 파일들을 삭제
-exec command : 검색된 파일들에 지정된 명령 실행
-ls : 'ls - l' 과 같은 역할
-ok command ; : -exec 와 같지만 명령을 실행할 때마다 실행 의사를 물어본다.
-print : 검색된 파일리스트를 출력
300x250
'프로그래밍 > Linux' 카테고리의 다른 글
[Linux/리눅스] diff | cmp | comm - 파일 내용 비교 (1) | 2021.06.14 |
---|