Como usar as classes de personagens sed

Como usar as classes de personagens sed
O editor de stream (sed) é conhecido como um editor poderoso devido à sua ampla gama de funcionalidades suportadas, como substituição, edição, exclusão e muito mais. Enquanto o editor de fluxo possui a longa lista de caracteres que fornecem assistência para gerenciar os arquivos automaticamente: esses caracteres estão entre um conjunto de caracteres semelhantes conhecidos como classes de caracteres; Essas classes contêm os personagens de famílias iguais.

Por exemplo, os dígitos enquanto usam o SED são acessados ​​através da classe [[: Digit:]] e os caracteres alfanuméricos são armazenados na classe nomeada como [[: alnum:]]. Da mesma forma, todos os personagens pertencem a alguma classe de personagem específica; Conhecendo a importância dessas classes, nosso guia de hoje está focado para fornecer uma profunda visão das classes de personagens no SED.

Então, vamos começar este tutorial:

Classes de personagens em sed

Esta seção contém as classes de caracteres usadas no SED para gerenciar arquivos de texto:

Classe de caracteres alfabéticos : Os caracteres alfabéticos no SED são acessados ​​por meio de “Classe de caracteres alfabéticos”; E pode -se gerenciar arquivos de texto ligando para a classe Alphabet: a palavra -chave usada para referir esta classe está escrita abaixo:

[[:alfa:]]

Por exemplo, queremos excluir todas as linhas que contêm letras alfabéticas de “teste.TXT”; Então, para isso, você deve usar esta classe como mostrado no comando abaixo.

Observação: Use a palavra -chave da classe com cuidado, caso contrário, o comando não funcionará:

Além disso, você pode executar outras operações, como substituição, impressão como realizamos a exclusão no comando acima.

Classe alfanumérica : Esta classe contém os caracteres alfanuméricos como você terá acesso a todas as letras e números numéricos também.

[[: Alnum:]]

O exemplo dado abaixo ajudará você a entender o uso básico desta classe no Ubuntu: do arquivo “teste.TXT”, Exibimos todas as palavras que contêm caracteres alfanuméricos seguindo o comando escrito abaixo:

$ sed -n '/[[: alnum:]/p' teste.TXT

Classe de caráter inferior : Esta classe SED é usada para gerenciar letras minúsculas em um arquivo de texto; Você pode substituir, excluir, imprimir as letras de baixo caso usando esta classe; A palavra -chave usada para esta classe é mostrada abaixo:

[[:mais baixo:]]

Por exemplo, se você deseja imprimir linhas que contêm letras minúsculas, o comando escrito abaixo o ajudará a fazê -lo:

$ sed -n '/[[: inferior:]/p' teste.TXT

Classe de caráter superior : Esta classe de sed contém as letras de casos superiores; A palavra -chave usada para abordar a classe de caracteres de maiúsculas da caixa está escrita abaixo:

[[:superior:]]

Você pode usar esta classe para aplicar as alterações direcionadas a todas as letras do caso superior; Por exemplo, o comando dado abaixo excluirá todas as linhas que contêm letras alfabéticas capitais.

$ sed '/[[: superior:]]/d' teste.TXT

Classe de personagem em branco : Os espaços em branco criados pela barra de espaço ou a tecla de guia reside nesta classe; E pode -se substituir, excluir todos os espaços em branco no arquivo de texto usando esta classe de caracteres, a palavra -chave usada para abordar esta classe é exibida abaixo:

[[:em branco:]]

Por exemplo, queremos substituir as letras “AAA”Em vez dos espaços em branco no arquivo de texto; Portanto, o comando mencionado abaixo ajudará a substituir o espaço em branco por “AAA”:

$ sed 's/[[: em branco:]]/yyy/g' novo.TXT

Classe de caracteres espaciais : Esta classe tem funcionalidades iguais como classe em branco, mas abrange mais alguns recursos do que. As funcionalidades oferecidas pela classe de caracteres espaciais são espaços, espaços em branco e guia vertical de suporte, newline.

A palavra -chave usada para abordar esta classe é mostrada abaixo:

[[:espaço:]]

O comando a seguir excluirá todas as linhas que contêm caráter da classe espacial de “teste.TXT”:

$ sed '/[[: espaço:]]/d' teste.TXT

Digits Classe de personagem : Esta classe de caracteres é usada para abordar e gerenciar os dígitos no utilitário de linha de comando sed; Além disso, você pode realizar mudanças coletivas relacionadas a dígitos em todo o arquivo de texto. A palavra -chave usada para abordar esta classe é mencionada abaixo:

[[: Digit:]]

Por exemplo, o comando escrito abaixo imprimirá todas as linhas que contêm dígitos em “teste.TXT”:

$ sed -n '/[[: dígito:]/p' teste.TXT

Classe de caráter hexadecimal : Esta classe em sed contém os caracteres hexadecimais (0-9, a-f); A palavra -chave usada para referir esses caracteres é mencionada abaixo:

[[: xdigit:]]

O comando mencionado abaixo imprimirá as linhas que contêm caracteres hexadecimais em “teste.TXT”:

$ sed -n '/[[: xdigit:]/p' teste.TXT

Classe de caracteres impressa : Esta classe contém os caracteres que podem ser impressos na tela; Ele também inclui os espaços: a palavra -chave usada para esta classe é:

[[:imprimir:]]

Por exemplo, o comando escrito abaixo imprimirá todas as linhas que contêm até um único caractere:

$ sed -n '/[[: print:]]/p' novo.TXT

Controle de caracteres de controle : Esta classe de personagem consiste em caracteres não impressos em um arquivo de texto; A palavra -chave usada para esta classe está escrita abaixo:

[[: cntrl:]]

A classe de caracteres não impressos inclui espaço em branco, guias, quebra de linha, quebras de página et.,

O comando escrito abaixo excluirá as linhas que contêm caracteres de controle no arquivo de texto chamado “novo.TXT”:

$ sed -n '/[[: cntrl:]/d' novo.TXT

Classe de caracteres do gráfico : Esta classe de caracteres contém os caracteres que são imprimíveis e funciona iguais a [[: print:]]; A palavra -chave da classe de gráfico é escrita aqui:

[[:gráfico:]]

Observação: Os caracteres gráficos incluem todos os personagens que podem ser editados, impressos, de maneira legível humana. Por exemplo, caracteres de classes de ET alfabético, numérico, hexadecimal., pode ser referido como caracteres gráficos.

Agora vamos entrar no exemplo, o comando escrito abaixo excluirá todas as linhas que têm caracteres gráficos presentes em “novo arquivo.TXT”:

$ sed '/[[: gráfico:]]/d' newfile.TXT

Conclusão

Um dos editores bem conhecidos do Ubuntu, conhecidos como SED, fornece a facilidade de gerenciar arquivos de texto e a assistência central nesse sentido fornecida pelos caracteres. Além disso, existem classes de caracteres que contêm caracteres iguais e são usados ​​extensivamente em sed. Neste guia detalhado, direcionamos as classes de personagens usadas no SED e explicamos brevemente seu uso em uma linha de comando. Essas classes podem ser usadas para executar várias operações em um arquivo de texto; Como se você quiser gerenciar os dígitos em um arquivo, você deve usar a classe Digit e, da mesma forma, todas as outras classes são chamadas quando sua respectiva funcionalidade é necessária. Além disso, descrevemos o uso de classes de caráter em relação às operações fundamentais de sed como substituição, exclusão e impressão.