Qual é a opção P em SED?

Qual é a opção P em SED?
Em Unix/Linux, o sed (Editor de fluxo) Comando analisa e transforma textos com a ajuda de expressões regulares. É uma das primeiras ferramentas para suportar expressões regulares. Hoje, sed faz parte da especificação do UNIX, assim disponível em todos os sistemas UNIX/Linux modernos por padrão.

Embora existam inúmeras maneiras de usar sed, Vamos dar uma olhada no P opção (com exemplos) neste guia.

Uso básico sed

Esta seção oferecerá uma atualização rápida dos usos básicos do sed comando.

A estrutura de comando de sed é o seguinte:

$ sed

Na maioria dos casos, sed é usado para sua função de substituição. Dê uma olhada no exemplo a seguir:

$ echo "The Quick Brown Fox" | sed -e 's/rápido/rápido/'

Aqui o sed O comando está operando no conteúdo de Stdout de eco comando. Saiba mais sobre stdin, stderr e stdout no Linux. Na saída, o termo "rápido" é substituído por "rápido".

Se quiséssemos executar esta operação em um arquivo de texto, o comando ficaria assim:

$ sed -e 's/rápido/rápido/g' sed -democulgo.TXT

Observe que o conteúdo original do arquivo não foi modificado. Para modificar o conteúdo do arquivo no local, precisamos adicionar a bandeira "-i". Dê uma olhada no seguinte comando:

$ CAT sed-Demo.TXT
$ sed -i -e 's/Quick/G' sed -deMo.TXT
$ CAT sed-Demo.TXT

Observe que também tivemos que adicionar o g opção na expressão para que sed procura correspondências de padrões em todo o fluxo e executa a tarefa especificada.

A opção P em SED

Para modificar como sed Lida com vários fluxos, existem inúmeras opções disponíveis. Nós exploramos o uso do g opção no contexto de sedRecurso de substituição. O P A opção, no entanto, é usada para pesquisar apenas um padrão.

Observe que é maiúsculo P. Minúsculo p especifica outra opção em sed. Todas essas opções devem ser usadas dentro da especificação do padrão.

  • P: sed Imprimirá todo o conteúdo no espaço de padrão atual.
  • P: sed Imprimirá apenas a primeira linha de dados no espaço de padrão atual.

Lembre -se de como sed Imprime a saída da modificação do fluxo no console por padrão? Com a ajuda de p e P Opções, podemos controlar qual conteúdo sed imprimirá no console.

Por exemplo, para imprimir apenas a primeira linha, poderíamos usar a seguinte técnica:

eco “linha 1

Esta é a linha 2 ”| sed -n '1p'

Isso também pode ser alcançado usando o p opção:

eco “linha 1

Esta é a linha 2 ”| sed -n '1p'

No entanto, podemos notar a diferença em seus comportamentos se incluirmos 2 linhas no buffer e imprimir os dois:

eco “linha 1

Esta é a linha 2 ”| sed -n '1 n; P '

Aqui, havia duas linhas no buffer, mas apenas imprimimos o primeiro porque estamos usando o P opção.

Conclusão

Neste guia, exploramos o P opção em sed e explorou algumas maneiras de implementá -lo. Esta é apenas uma das muitas maneiras de usar sed. Este guia demonstra realizar várias substituições de sed. O poder de sed origina -se da implementação de expressões regulares. Saiba mais sobre Expressões regulares no SED.

Enquanto sed pode encontrar editar fluxos de texto, se você precisar apenas procurar um padrão específico, então grep é a escolha ideal. Além de seu uso básico, o grep O comando suporta recursos avançados, como excluir determinados itens, vários padrões de string e mais. Melhorar seu domínio do grep comando com 30 exemplos de grep.

Computação feliz!