que comando eu usaria para ver todas as linhas de um arquivo começando com uma linha que eu encontro com grep

1

qual comando eu usaria para ver todas as linhas de um arquivo começando com uma linha que eu encontro com o grep

então eu imagino algo como uma cauda, mas começando de uma linha que eu identifico com um grep.

Por exemplo, eu estou olhando para um log e eu posso identificar um ponto que tem um tempo nele. Por isso, quero ver todas as linhas de log que vêm depois da linha de log que contém uma data específica.

    
por sdfor 19.02.2016 / 17:08

2 respostas

3

isso deve ser feito:

sed -n -e "/pattern/,\$p" filename
    
por 19.02.2016 / 17:13
1

A opção -A para o grep pode fazer isso. O uso normal é para o contexto após corresponde, e -B para o contexto antes corresponde. A opção -m limita o número de correspondências.

grep -A1000000 -m1 <search> <file>

produzirá até 1.000 linhas de contexto à direita (e para fazer esse trabalho apenas garantir que o número seja maior que o número de linhas no arquivo - e se seu arquivo tiver mais de 1.000 linhas, o grep provavelmente não é o ferramenta certa). De maneira semelhante,

grep -B1000000 -m1 <search> <file>

imprimirá todas as linhas até e incluindo a primeira partida. (Isso não é, no meu conhecimento, o uso pretendido dessas opções, mas é um efeito colateral natural de como elas funcionam: a alternativa é usar um programa diferente do grep.)

    
por 19.02.2016 / 18:13