많은 파일들을 하나하나 열어 원하는 내용을 찾기는 힘들다.
find 명령어로 고고싱
find ./ -name "검색할파일들" | xargs grep "검색할단어"
예)
HTML파일중에 피카츄란 내용을 찾고 싶다.
find ./ -name "*.html" | xargs grep "피카츄"
CSS파일중에 .header class를 찾아 수정해야 하는데 어디에 있는지 모르겠다.
find ./ -name "*.css" | xargs grep "header"
모든 파일중에 010 번호를 찾고 싶다.
find ./ -name "*" | xargs grep "010"
이렇게 하면(아래는 예시)
./event/now.htm: <option value="010">010</option>
./event/now2.htm: <option value="010">010</option>
./old/older.htm: <option value="010">010</option>
이런식으로 어디파일에 있는지 리스트가 나온다.
어? 잠깐, 예전에는 라인도 나온거 같은데..
다른 명령어인가?
아니다 옵션이 있었군.
find ./ -name "*.css" | xargs grep -n "header"
grep 에 -n 옵션을 주면 라인도 나온다.
./event/now.htm:30:<option value="010">010</option>
이런식으로.
하지만 이렇게 하면 오류도 다 출력을 한다. (막 깨진 글씨들?)
2>/dev/null 을 추가해서 오류는 안나오게 하자.
파일 내 문자를 찾으려면 최종적으로 아래처럼 하면 되겠다.
find ./ -name "검색할파일들" | xargs grep -n "검색할단어" 2>/dev/null
'개발 > 리눅스' 카테고리의 다른 글
Let's Encrypt 인증서 설치 및 적용하기 #1 (2) | 2018.10.17 |
---|---|
yum 으로 php 7.2 설치하기 (0) | 2018.09.20 |
아파치 이눔시키 (0) | 2018.06.27 |
mod_cband 를 설치 해 보자 #2 (3) | 2017.06.07 |
mod_cband 를 설치 해 보자 #1 (0) | 2017.05.23 |