• 맑음동두천 12.5℃
  • 맑음강릉 22.5℃
  • 맑음서울 16.7℃
  • 맑음대전 14.8℃
  • 맑음대구 14.9℃
  • 맑음울산 15.7℃
  • 맑음광주 16.6℃
  • 맑음부산 16.4℃
  • 맑음고창 ℃
  • 맑음제주 17.1℃
  • 맑음강화 17.3℃
  • 맑음보은 11.3℃
  • 맑음금산 10.3℃
  • 맑음강진군 14.1℃
  • 맑음경주시 13.1℃
  • 맑음거제 16.8℃
기상청 제공

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"