Preciso escrever um script de shell que encontre a frase "Candy Land" e imprima as 10 linhas ao redor da linha onde essa palavra foi encontrada. Suponha que ele seja encontrado apenas uma vez.
Não sei o que significa programa shell e imprimir as 10 linhas que cercam essa palavra. Talvez usando cabeça/cauda.
Eu sei que usando grep você pode encontrar a frase fazendo isto:
grep 'Candy Land' file
Mas não acho que seja isso que devo fazer.
Responder1
Grep tem alguns sinalizadores, como -A
para exibir a reta numérica após a partida e -B
para exibir as retas numéricas antes da partida, ambos esperam um número seguido pela bandeira.
E a bandeira -C
também pode ser usada, combinando ambas para fornecer uma linha antes e depois.
Por exemplo,
grep -A 1 -B 1 'Candy Land' file
ou
grep -C 1 'Candy Land' file