O que esse comando sed está fazendo?

0
sed -n -E -e '/word/,$ p' filename.txt

Perguntas mais específicas:

Por que -e é necessário aqui? Isso serve a qualquer propósito no exemplo?

Eu sei que p é para impressão e $ indica o fim da linha mas o que a compilação ,$ p faz exatamente aqui?

    
por HashWizard 13.05.2017 / 18:22

2 respostas

3

/word/,$ é o intervalo de endereços do comando p .

/word/,$p aplicará o comando p (impressão) a todas as linhas desde o primeiro que contém word em qualquer lugar, até o final do arquivo.

-e não é necessário neste exemplo, pois há apenas uma expressão para sed a ser executada. Você também não precisa de -E porque o exemplo não está fazendo uso de expressões regulares estendidas POSIX.

    
por 13.05.2017 / 19:14
0
  • -e diz ao sed para usar o próximo argumento como comando
  • /word/,$ seleciona toda a linha desde a palavra até o final do arquivo.
  • p print

se você esquecer -n , você terá todo o arquivo impresso

    
por 13.05.2017 / 18:41

Tags