Há outro editor conhecido conhecido como “Editor de fluxo (sed)”; O utilitário de linha de comando sed do Ubuntu fornece um extenso suporte para gerenciar arquivos de texto; Esta ferramenta é classificada nos editores mais importantes por causa dos recursos avançados que oferece ao lidar com arquivos de texto. A razão por trás de sua popularidade é uma operação de comando de linha: o que significa que ele pode gerenciar arquivos de texto usando o terminal e os usuários não precisam abrir e editar manualmente qualquer arquivo de texto. O grupo de captura refere -se a outro recurso avançado dessa ferramenta; A funcionalidade de captura do grupo do SED permite que o usuário obtenha a parte específica de um arquivo de texto ou uma linha. Neste guia detalhado, descrevemos brevemente o conceito de agrupamento de captura, seu trabalho e uso com sed.
Em primeiro lugar, teremos uma visão profunda dos grupos de captura e depois prosseguiremos com o uso com o SED:
Então, vamos começar o guia de hoje:
Como os grupos de captura funcionam
Como discutido acima, os grupos de captura são a parte específica de qualquer linha ou arquivo de texto. Pode haver um dos seguintes propósitos por trás dos grupos de captura:
Ele pode ser usado para obter as informações de identificação, pesquisando a peça específica dentro de um arquivo de texto, bem como as operações de manipulação também podem ser executadas nessa correspondência específica.
Como fazer grupos de captura usando o comando sed no ubuntu
Os grupos de captura no SED são formados aplicando parênteses a expressões regulares ou a operação que o usuário deseja executar. Por exemplo, para fazer grupos de captura, você deve colocar parênteses como "\ (" no início e "\)" no final de uma expressão regular específica:
Em resumo, o Capture Group é usado para pegar a parte específica da linha, o arquivo de texto e, em seguida, executar uma operação nesse grupo:
Os próximos exemplos demonstram o uso de grupos de captura usando o comando sed; Exemplos variam de nível básico para avançado.
Capturando um único grupo usando o comando sed
O comando escrito abaixo capturará a palavra “Olá”E depois substitua a palavra que ocorre depois dela (“sed!") com "Linuxhint”: Você deve ter notado que o grupo de captura está fechado na expressão de parênteses“ \(" e "\)”.
$ eco olá sed! | sed 's/\ (hello \) sed!/\ 1 linuxhint/'
Captura vários grupos usando o comando sed
O comando sed permite capturar vários grupos e depois executar a operação nesse grupo. Por exemplo, o comando mencionado abaixo captura e imprimirá apenas grupos selecionados. Observa -se que os grupos de captura podem ser chamados atribuindo -lhes um nome de pedido:
Na parte do eco deste comando, três distribuições e um linux dos pais é colocado, i i.e., Total de quatro entradas: no entanto, no comando sed que chamamos apenas de 1,2 e 3 grupos em ordem inversa. A saída mostra que apenas três grupos são impressos em ordem inversa enquanto “Fedora”Mantém sua posição original:
$ eCHO Ubuntu Debian Linux Fedora | sed 's/\ (ubuntu \) \ (debian \) \ (linux \)/\ 3 \ 2 \ 1/'
Captura de grupos de expressões complexas
Digamos que temos uma expressão que contenha palavras -chave alfanuméricas; Temos que fazer grupos e depois imprimi -los em qualquer ordem (reversa/normal). O comando abaixo mostra que a expressão contém palavras -chave alfanuméricas; Fizemos grupos das três palavras alfanuméricas e depois exibimos essas palavras em uma ordem inversa:
Observação: O mesmo comando pode ser usado substituindo “\c\c*" com "[[: alnum:] _] \ 1, \”:
$ ECHO Linuxhint 123 Capture_Groups | sed 's/\ (\ w \ w*\) \ (\ w \ w*\) \ (\ w \ w*\)/\ 3 \ 2 \ 1/'
O comando acima contém grupos de captura “\ (\ w \ w*\)”; estes funcionam para palavras -chave alfanuméricas. Você pode executar o comando acima usando a classe de caracteres alfanuméricos como um grupo de captura. Por exemplo, o comando mencionado abaixo fornecerá a mesma saída quando a classe alfanumérica de caracteres for usada como um grupo de captura:
$ ECHO Linuxhint 123 Capture_Groups | sed \ 1, \ \)/\ 3 \ 2 \ 1/'
Conclusão
O utilitário de linha de comando sed fornece orientações detalhadas para lidar com arquivos de texto usando o terminal da linha de comando; Este editor pode ser difícil de operar, mas à medida que você se aproxima dos detalhes, você achará fácil de entender e aplicar. Além disso, suas funcionalidades avançadas facilitam o processo de manipular e gerenciar os arquivos de texto; como expressões regulares e captura de grupo. Neste artigo, derrotamos o conceito de grupos de captura no SED; e forneceu o uso completo, referindo -se a alguns exemplos. Os grupos de captura são bastante úteis, especialmente quando você tem arquivos de texto muito grandes e deseja identificar conteúdo específico desses arquivos.