문제

내 코드

$  *.php | grep google

각 일치 항목 옆에 파일 이름과 줄 번호를 어떻게 인쇄합니까?

도움이 되었습니까?

해결책

grep google *.php

많은 디렉토리에 걸쳐있는 경우 :

find . -name \*.php -print0 | xargs -0 grep -n -H google

(주석에 설명 된 바와 같이, Xargs가 나머지 파일 하나만 제공하는 경우 -h는 유용합니다)

다른 팁

당신은 이러면 안 돼요

$ *.php | grep

이는 "나머지 이름을 매개변수로 와일드카드로 사용하여 첫 번째 PHP 프로그램을 실행한 다음 출력에서 ​​grep을 실행"한다는 의미입니다.

그것은해야한다:

$ grep -n -H "google" *.php

그만큼 -n 플래그는 줄 번호를 지정하라고 지시하고, -H 플래그는 파일만 있어도 파일 이름을 표시하도록 지시합니다.검색 중인 파일이 여러 개 있는 경우 Grep은 기본적으로 파일 이름을 표시하지만 일치하는 파일 수에 관계없이 출력이 일관되는지 확인하고 싶을 수도 있습니다.

grep -RH "google" *.php

ACK를 살펴보십시오 http://betterthangrep.com. 당신이 시도하는 것의 ACK의 동등한 것은 다음과 같습니다.

ack google --php
find ./*.php -exec grep -l 'google' {} \; 

"Man Grep"을 사용하여 다른 기능을보십시오.

for i in $(ls *.php); do  grep -n --with-filename "google" $i; done;
find . -name "*.php" -print | xargs grep -n "searchstring"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top