Você pode:
$ sed -n '10,30{
/pattern/p
}' <file
Essa é a sintaxe padrão por enquanto. Você também pode usar:
$ sed -n '10,30{/pattern/p;}' <file
na próxima versão do POSIX.
Eu quero usar sed
para me fornecer algumas linhas de um arquivo. Eu quero extrair essas linhas apenas dentro de alguma parte do arquivo, que eu sei. Por exemplo. Eu tenho um arquivo com 100 linhas, e estou procurando por linhas na linha 10 e 30 com um padrão específico.
Minha solução atual é usar dois comandos sed
: o primeiro imprime tudo entre os números de linha que tenho, por exemplo
sed -n "10,30p" target_file.file
A segunda procura dentro desse resultado com um padrão
sed -n '/pattern/p'
Então, no final, eu tenho isso:
sed -n "10,30p" target_file.file | sed -n '/pattern/p'
Existe uma maneira de fazer um comando de dois?
Tags text-processing sed