質問

私のコード

$  *.php | grep google

どのように私は、各試合の隣にファイル名とlinenumbersを印刷することができますか?

役に立ちましたか?

解決

grep google *.php

あなたは多くのディレクトリにまたがるする場合:

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

(コメント欄で説明したようにxargsのが一つだけ残っているファイルを思い付く場合、-Hでは有用である)

他のヒント

あなたがやってはいけません。

$ *.php | grep

これは、「出力に対してgrepを実行し、パラメータとしてワイルドカード残りの名前で、最初のPHPプログラムを実行して、」意味ます。

これは、する必要があります:

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

-nフラグは、行番号を行うためにそれを伝え、-Hフラグは、ファイルがあります場合でも、ファイル名を表示するように指示します。検索されている複数のファイルがある場合、grepはファイル名を示すにデフォルト設定されますが、あなたはおそらく、必ず出力に関係なく存在しているどのように多くの一致するファイルの一貫性があるようにしたい。

grep -RH "google" *.php

http://betterthangrep.com のでACKをご覧ください。あなたがしようとしているものの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