Usando sed :
< inputfile sed '1,/::=/d' > outputfile
-
< inputfile: redireciona o conteúdo deinputfileparased'stdin -
> outputfile: redireciona o conteúdo desedstdoutparaoutputfile
% de colapso do comandosed:
-
1,/::=/d: exclui todas as linhas entre a primeira e a primeira que corresponde à::=regex, inclusive
Usando awk :
< inputfile awk 'NR==1,/::=/ {next}; {print}' > outputfile
-
< inputfile: redireciona o conteúdo deinputfileparased'stdin -
> outputfile: redireciona o conteúdo desedstdoutparaoutputfile
% de colapso do comandoawk:
-
NR==1,/::=/ {next}: ignora o registro se entre o primeiro e o primeiro correspondente ao::=regex inclusive -
{print}: imprime o registro
Usando o Perl:
< inputfile perl -0777 -pe 's/^(.*\n)*?::=.*\n//' > outputfile
-
-0777: faz o slurps do arquivo inteiro de uma só vez, em vez de uma linha no momento -
-p: coloca um loopwhile (<>) {[...]}ao redor do script e imprime o arquivo processado -
-e: lê o script dos argumentos
Divisão do comando Perl:
-
s: afirma para executar uma substituição -
/: inicia o padrão -
^(.*\n)*?::=.*\n: corresponde a qualquer caractere zero ou mais vezes no início do arquivo avidamente na linha atual (ou seja, o padrão (.) será correspondido o maior número de vezes possível dentro da linha atual) e uma nova linha, zero ou mais vezes preguiçosamente dentro do arquivo atual (ou seja, o padrão(.*\n)será correspondido o mínimo possível dentro do arquivo atual) antes de uma string::=, correspondendo a qualquer caractere zero ou mais vezes avidamente dentro da linha atual e uma nova linha -
/: interrompe o padrão / inicia a sequência de substituição -
/: interrompe a string de substituição / inicia os modificadores