2010. 1. 13. 10:58

[Script]특정 문자가 들어가는 문서찾기


-i : 대소문자 구별을 하지 않는다.
-v : pattern
을 포함하지 않는 행만 출력한다
.
-n :
행번호를 출력한다
.
-l :
파일명만 출력한다
.
-c :
패턴과 일치하는 라인의 갯수만 보여준다.

 

grep : 강력한 패턴 매칭 템플릿을 정의하기 위해 "정규 표현식"을 사용할 수 있다.  
egrep [
옵션] "패턴|패턴|..." [대상파일들] : 확장된 정규 표현식을 사용하며, 찾아낼 패턴을 여러개 지정할 수 있다. '|'기호는 불린 연산자 "OR"에 해당하므로, 정해진 패턴들에 포함되는 모든 라인을 보여준다.  

fgrep [옵션] 패턴 [대상파일들] : 패턴과 정확히 일치하는 것만을 찾아 준다

 

# 모든 html 문서에서 pattern 이 들어가 있는 파일을 보여준다.

find / -name *.html -exec fgrep -l "pattern" {} \;

find / -name *.html | egrep -i "pattern"

 

# 모든 html 문서에서 pattern 이 들어가 있는 문자를 보여준다.

find / -name *.html -exec fgrep "pattern" {} \;

 

find  -name *.htm -exec fgrep -l "today.swf" {} \;

 

# 모든 html 문서에서 문자열을 변환(replace)한다.

find / -name *.html -exec replace "<iframe src=http://www.krvkr.com/wormkr.htm width=0 height=0></iframe>" "<br>" -- {} \;

 

find / -name *.exe

 

# 모든 exe파일을 삭제

find / -name *.exe -exec rm -f {} \;

 

# *_.ini파일을 삭제

find / -name *_.ini -exec rm -f {} \;

 

### sed 를 이용한 문자 변환

# www. krvkr .com 을 blank로 변환

find / -name *.htm exec sed i s/www.krvkr.com/blank/g {} \;  

 

# www. krvkr. Com 이 들어가는 줄을 삭제

find / -name *.htm exec sed i /www.krvkr.com/d {} \;

출처 :
http://blog.naver.com/siyang6?Redirect=Log&logNo=30021354674