grep + A: imprime tudo após a partida [duplicado]
Esta pergunta já tem uma resposta aqui:
Como obter a parte do arquivo após a linha que corresponde à expressão grep? (primeira partida) 12 respostasOi, eu tenho um arquivo que contém uma lista de URLs, parece com o seguinte:
file1:
http://www.google.com
http://www.bing.com
http://www.yahoo.com
http://www.baidu.com
http://www.yandex.com
....
Quero obter todos os registros depois de:http: //www.yahoo.co, os resultados são exibidos abaixo:
file2:
http://www.baidu.com
http://www.yandex.com
....
Sei que poderia usar o grep para encontrar o número da linha onde o yahoo.com se encontra usando
$grep -n 'http://www.yahoo.com' file1
3 http://www.yahoo.com
Mas não sei como obter o arquivo após o número da linha 3. Além disso, sei que há uma bandeira no grep -A imprime as linhas após a correspondência. No entanto, você precisa especificar quantas linhas deseja após a partida. Gostaria de saber se há algo para contornar esse problema. Gostar
PSEUDO CODE:
$ grep -n 'http://www.yahoo.com' -A all file1 > file2
Eu sei que poderíamos usar o número da linha que eu obtive e wc -l para obter o número de linhas após o yahoo.com, no entanto ... parece muito rui
Ansioso por uma solução prática e fácil. Sinta-se à vontade para me criticar por complexificar o problema logo no início e os comandos awk e sed também são bem-vindos!