Linux

리눅스 FIND 명령어를 이용한 파일 내용 검색

개발만파볼까 2018. 10. 9. 17:19
728x90
반응형
SMALL

리눅스에서 find 명령어가 해당하는 파일을 검색하는 명령어라는 것은 누구나 잘 알 것이다. 


기본적으로 파일내용 검색하는 명령어는 다음과 같다.


find [경로] -name "파일명" | xargs grep "찾을 내용"



여기서 xargs는 보통 파이프랑 같이 사용하는데, 파일 목록을 추출해서 출력, 삭제, 복사 등을 하는 경우가 있다. 명령어가 파일, 지정한 패턴에 대한 출력 명령어이다. 다시 말하면 저 명령어 의미는 해당 경로에 파일명을 찾은 다음, 파일명 안에 존재하는 내용을 출력하는 명령어라 생각하면 된다.


하나 예를 들면서 설명하겠다.

호스트 이름이 'was1'이라서 다른 이름으로 바꿀려고 한다. 물론 우리는 바로 /etc/hosts 가서 변경하면 되지만, find 를 가지고 해결하려 한다.

확장명은 잘 모르기 때문에 '*'을 입력하였고, 여기서 -type f는 오직 파일만 찾겠다는 명령어이다.

[root@was1 home]# find /etc -name "*" -type f | xargs grep was1
/etc/hosts:192.168.0.13 was1 /etc/nginx/nginx.conf:server was1-ip:1234;
/etc/nginx/nginx.conf:        server was1:9000;
/etc/nginx/nginx.conf:        server was1:8080;

다음과 같이 찾고자 하는 내용 'was1'을 볼 수 있다.  

728x90
반응형
LIST