• 구름조금동두천 7.4℃
  • 맑음강릉 9.6℃
  • 연무서울 9.2℃
  • 연무대전 10.0℃
  • 맑음대구 9.1℃
  • 맑음울산 9.5℃
  • 연무광주 9.6℃
  • 맑음부산 10.8℃
  • 맑음고창 7.1℃
  • 구름많음제주 10.7℃
  • 맑음강화 7.8℃
  • 구름많음보은 9.0℃
  • 구름조금금산 10.3℃
  • 맑음강진군 8.4℃
  • 맑음경주시 8.8℃
  • 맑음거제 10.4℃
기상청 제공

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"