Usando sed
:
< inputfile sed '1,/::=/d' > outputfile
-
< inputfile
: redireciona o conteúdo deinputfile
parased
'stdin
-
> outputfile
: redireciona o conteúdo desed
stdout
paraoutputfile
% 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 deinputfile
parased
'stdin
-
> outputfile
: redireciona o conteúdo desed
stdout
paraoutputfile
% 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