Como remover caracteres especiais usando sed

Como remover caracteres especiais usando sed
O comando sed é um utilitário Linux que pode ser usado para executar muitas operações que incluem operações de inserção e exclusão, localização/pesquisa e substitua operações. O comando sed permite que os usuários do Linux editem e apliquem várias funções em arquivos sem abri -los diretamente. O comando sed suporta funcionalidades de edição que variam do nível de iniciantes a nível avançado: por exemplo, dentro de um arquivo de texto que essas operações podem ser executadas em vários tipos de dados: caracteres, numéricos, caracteres especiais, alfanumérico et.,

Tendo em vista a importância do comando sed; Nosso guia de hoje explorará várias maneiras de remover caracteres especiais usando o comando sed no ubuntu.

A sintaxe do comando sed está escrita abaixo:

Sintaxe

comando sed [options] [nome do arquivo]

Os caracteres especiais às vezes podem ser necessários do conteúdo escrito em um arquivo de texto, mas se forem usados ​​desnecessariamente, eles deixarão o arquivo bagunçado e há chances de que o leitor não possa prestar atenção, resultando em um documento sem propósito.

Como usar o SED para remover caracteres especiais no Ubuntu

Esta seção descreverá brevemente as maneiras de remover caracteres especiais de um arquivo de texto usando sed; Depende do número de caracteres em seu arquivo que você deseja remover; Pode haver duas possibilidades enquanto remove os caracteres de um arquivo, ou você deseja remover um único personagem especial ou deseja remover vários caracteres de uma vez. A partir dessas possibilidades indicadas acima, estendemos esta seção a dois métodos que abordarão as duas possibilidades:

Método 1: Como remover um único caractere usando sed

Método 2: Como remover vários caracteres de uma só vez usando sed

O primeiro método aborda a primeira possibilidade, e a segunda possibilidade será discutida no método 2, vamos nos aprofundar um por um:

Método 1: Como remover um único personagem especial usando sed

Nós criamos um arquivo de texto “CH.TXT”Isso contém poucos caracteres especiais em diferentes linhas; O conteúdo dentro do arquivo é exibido abaixo:

$ CAT CH.TXT

Você pode notar que o conteúdo dentro “CH.TXTÉ difícil de ler; Por exemplo, queremos remover o caractere "#" do arquivo de texto; Para isso, temos que usar o seguinte comando para remover "#" de todo o documento:

$ sed 's/\#// g' ch.TXT

Além disso, se você deseja remover o personagem especial de uma linha específica; Para isso, você deve inserir o número da linha ao lado da palavra -chave “S”, pois o comando abaixo mencionado removerá “#” da linha número 3 apenas:

$ sed '3s/\#// g' ch.TXT

Método 2: Como remover vários caracteres de uma só vez usando sed

Agora temos outro arquivo “arquivo.TXT”Isso contém mais de um tipo de personagem e queremos removê -los em uma única vez. Neste método, a sintaxe é alterada um pouco do comando acima; Por exemplo, temos que remover cinco caracteres “#$%*@" de "arquivo.TXT”;

Em primeiro lugar, veja o conteúdo de “arquivo.TXT”Como as palavras são interrompidas por esses personagens;

$ CAT FILE.TXT

O comando declarado abaixo ajudará a remover todos esses personagens especiais de “arquivo.TXT”:

$ sed 's/[#$%*@] // g' arquivo.TXT

Aqui podemos dar outro exemplo, digamos que queremos remover apenas alguns caracteres de linhas específicas.

Criamos um novo arquivo e o conteúdo do “novo arquivo.TXT”É mostrado abaixo:

$ CAT NEWFILE.TXT

Para isso, temos o comando escrito que excluirá “#@" e "%*”Das linhas 2 e 3 de“novo arquivo.TXT”Respectivamente.

$ sed '2s/[#@] // g; 3s/[%*] // G 'NewFile.TXT

O comando sed usado nos métodos acima exibirá o resultado apenas no terminal, em vez de aplicar as alterações no arquivo de texto: para isso, devemos usar a opção "-i" do comando sed. Ele pode ser usado com qualquer comando sed e as alterações serão feitas no arquivo em vez de imprimir no terminal.

Conclusão

Aparentemente, o comando sed atua como um editor de texto usual, mas possui uma lista muito mais extensa de ações em comparação com outros editores. Você precisa apenas escrever um comando e as alterações serão feitas automaticamente; Esse recurso atrai os entusiastas do Linux ou os usuários que preferem o Terminal a GUI. Seguindo as funcionalidades vantajosas do SED; Nosso guia está focado em remover caracteres especiais do arquivo de texto. Se compararmos apenas esse recurso do comando sed com outros editores, você precisará procurar caracteres em todo o arquivo e removê -los um por um é um processo tedioso. Por outro lado, o SED executa a mesma ação escrevendo um comando de linha única no terminal.