我的代码
$ *.php | grep google
如何在每场比赛旁边打印文件名和亚麻布?
答案 0 :(得分:14)
grep google *.php
如果你想跨越许多目录:
find . -name \*.php -print0 | xargs -0 grep -n -H google
(如评论中所述,如果xargs只出现一个剩余文件,则-H非常有用)
答案 1 :(得分:5)
你不应该这样做
$ *.php | grep
这意味着“运行第一个PHP程序,其余名称为通配符作为参数,然后在输出上运行grep”。
应该是:
$ grep -n -H "google" *.php
-n
标志告诉它做行号,-H
标志告诉它显示文件名,即使只有文件。如果搜索到多个文件,Grep将默认显示文件名,但您可能希望确保输出一致,无论有多少匹配文件。
答案 2 :(得分:2)
grep -RH "google" *.php
答案 3 :(得分:2)
请回顾http://betterthangrep.com。你正在尝试的等价物是:
ack google --php
答案 4 :(得分:1)
find ./*.php -exec grep -l 'google' {} \;
答案 5 :(得分:0)
使用“man grep”查看其他功能。
for i in $(ls *.php); do grep -n --with-filename "google" $i; done;
答案 6 :(得分:0)
find . -name "*.php" -print | xargs grep -n "searchstring"