Remover conjunto de linhas
Olá!
Estou querendo remover um conjunto de linhas em shell script (/bin/bash) após um determinado padrão.
Exemplo: Remover a zona hello.com.br do named.conf.
Código :
cat named.conf | grep -A6 "zone \"hello.com.br\""
Esse comando me retorno o bloco de linhas que deve ser excluído... mas preciso o contrário. Usando a opcao -v do grep não adianta, parece que não funciona em conjunto com a opção -A.
Código :
cat named.conf | grep -v -A6 "zone \"hello.com.br\"" > novo_named.conf
Alguma dica? Usar o sed?
Grato.
flw...
Remover conjunto de linhas
Tendo o arquivo teste.txt com o seguinte conteudo:
teste
linha a remover
teste
teste
outra linha
cat teste.txt | sed '/linha a remover/d' > novoarquivo.txt
O novoarquivo.txt ficará sem a "linha a remover"
Remover conjunto de linhas
Valeu.... mas quero remover, além da linha com o texto conhecido, um determinado número de linhas abaixo desse texto...
Ex:
texto conhecido para remover
desconhecido
desconhecido
desconhecido
desconhecido
>> Preciso remover todo o conjunto acima...
flw...
Remover conjunto de linhas
Pesquisando o padrão de endereços do SED, acredito ter encontrado a solução:
Código :
sed '/texto/,+3d' named.conf
flw..
Remover conjunto de linhas
Eu também estou precisando desse comando..
Já tentei assim..
Código :
echo $(sed -n '/^remove esta linha$/!p' arquivo.txt) > arquivo.txt
Só que ele transforma o arquivo com o conteúdo
[list]linha
linha
remove esta linha
linha[/list:u]
em
[list]linha linha linha[/list:u]