Pergunta

Meu código

$  *.php | grep google

Como posso imprimir os nomes de arquivos e LineNumbers ao lado de cada jogo?

Foi útil?

Solução

grep google *.php

Se você quer para abranger muitos diretórios:

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

(como explicado nos comentários, -H é útil se xargs vem com apenas um arquivo remanescente)

Outras dicas

Você não deveria estar fazendo

$ *.php | grep

Isso significa "executar o primeiro programa de PHP, com o nome do resto caracteres universais como parâmetros, e depois executar grep na saída".

Ele deve ser:

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

A bandeira -n diz-lhe para fazer números de linha, ea bandeira -H diz-lhe para mostrar o nome do arquivo, mesmo se houver apenas arquivos. Grep será o padrão para mostrar os nomes de arquivos se houver vários arquivos que estão sendo pesquisados, mas você provavelmente vai querer certificar-se a saída é consistente, independentemente de quantos arquivos correspondência existem.

grep -RH "google" *.php

Por favor, dê uma olhada ack em http://betterthangrep.com . O equivalente em ack do que você está tentando é:

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

Use "man grep" para ver outros recursos.

for i in $(ls *.php); do  grep -n --with-filename "google" $i; done;
find . -name "*.php" -print | xargs grep -n "searchstring"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top