• 맑음동두천 12.5℃
  • 맑음강릉 13.2℃
  • 맑음서울 13.4℃
  • 맑음대전 14.0℃
  • 구름조금대구 15.1℃
  • 구름많음울산 14.4℃
  • 맑음광주 12.9℃
  • 구름조금부산 17.3℃
  • 맑음고창 13.0℃
  • 구름많음제주 15.2℃
  • 맑음강화 11.3℃
  • 맑음보은 13.1℃
  • 맑음금산 13.7℃
  • 맑음강진군 14.8℃
  • 구름많음경주시 14.7℃
  • 구름많음거제 14.6℃
기상청 제공

programming

find + grep 조합 스크립트

유닉스 계열에서 범용으로 사용할 수 있습니다.
find . -name "*.php" -print | xargs grep -l "string"


1. 현재 디렉토리의 모든 c 소스파일에서 "popen" 이 포함된 파일 리스트 출력
find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -l "popen"

2. 현재 디렉토리의 모든 c 소스파일에서 "popen" 이 포함된 파일과 내용 출력
 find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -n "popen"

3. 현재 디렉토리의 모든 c 소스파일에서 "popen" 과 "pclose"가 모두 포함된 파일리스트 출력
find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -l "popen" | xargs grep -l "pclose"

4. 현재 디렉토리의 모든 c 소스파일에서 "popen" 또는 "pclose"가 포함된 파일리스트 출력
find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -le "popen" -le "pclose"

또는 grep에 e옵션이 없으면
find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -l "popen";find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -l "pclose"

5. 현재 디렉토리의 모든 c 소스파일에서 "popen" 또는 "pclose"가 포함된 파일과 내용 출력
find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -e "popen" -e "pclose"

또는 grep에 e옵션이 없으면
find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -n "popen";find . -name "*.[ch]" ! -size 0 ! -type l -print | xargs grep -n "pclose"