sed

Sed remover espaços em branco

Sed remover espaços em branco
A remoção de espaços em branco em documentos é uma etapa de formatação essencial necessária para melhorar o layout geral de um texto e garantir que os dados estejam limpos e organizados. Isso ajuda a armazenar apenas os dados necessários e se livrar de espaços desnecessários à esquerda e à direita. A seguir estão alguns cenários em que pode ser necessário remover espaços em branco:

Se falamos sobre os espaços em branco iniciais, eles são relativamente fáceis de detectar, pois estão no início do texto. No entanto, não é fácil detectar os espaços em branco à direita. O mesmo é o caso com espaços duplos, que às vezes também são difíceis de detectar. Tudo se torna mais desafiador quando você precisa remover todos os espaços em branco à esquerda e à direita de um documento que contém milhares de linhas.

Para remover espaços em branco de seu documento, você pode usar várias ferramentas como awk, sed, cut e tr. Em alguns outros artigos, discutimos o uso de awk para remover os espaços em branco. Neste artigo, iremos discutir o uso de sed para remover espaços em branco dos dados.

Você aprenderá como usar o sed para:

Estaremos executando os comandos no Ubuntu 20.04 Fossa Focal. Você também pode executar os mesmos comandos em outras distribuições Linux. Usaremos o aplicativo padrão do Terminal Ubuntu para executar os comandos. Para abrir o Terminal, use o atalho de teclado Ctrl + Alt + T.

O que é sed

Sed (significa editor de fluxo) é um utilitário muito poderoso e útil no Linux que nos permite realizar manipulações de texto básicas nos fluxos de entrada. Não é um editor de texto, mas ajuda a manipular e filtrar o texto. Ele recebe os fluxos de entrada e os edita de acordo com as instruções do usuário e, em seguida, imprime o texto transformado na tela.

Com sed, você pode:

Usando Sed para Remover Espaços em Branco

Usaremos a seguinte sintaxe para remover espaços em branco do texto:

s / REGEXP / substituição / sinalizadores

Onde

Expressões regulares

Algumas das expressões regulares que usaremos aqui são:

Para fins de demonstração, usaremos o seguinte arquivo de amostra denominado “testfile”.

Ver todos os espaços em branco em um arquivo

Para encontrar todos os espaços em branco em seu arquivo, canalize a saída do comando cat para o comando tr como este:

$ cat testfile | tr "" "*" | tr "\ t" "&"

Este comando substitui todos os espaços em branco em seu arquivo pelo símbolo (*), o que torna mais fácil localizar todos os espaços em branco, sejam eles únicos, múltiplos, à esquerda ou à direita.

Na captura de tela a seguir, você pode ver que os espaços em branco foram substituídos pelo símbolo *.

Remover todos os espaços em branco (incluindo espaços e guias)

Em alguns casos, você precisa remover todos os espaços em branco dos dados, i.e. à esquerda, à direita e os espaços em branco entre os textos. O seguinte comando irá remover todos os espaços em branco do “testfile”.

$ cat testfile | sed -r 's / \ s + // g'

Observação: O Sed não altera seus arquivos a menos que você salve a saída no arquivo.

Resultado:

Depois de executar o comando acima, a seguinte saída apareceu, que mostra que todos os espaços em branco foram removidos do texto.

Você também pode usar o seguinte comando para verificar se todos os espaços em branco foram removidos.

$ cat testfile | sed -r 's / \ s + // g' | tr "" "*" | tr "\ t" "&"

Na saída, você pode ver que não há símbolo (*), o que significa que todos os espaços em branco foram removidos.

Para remover todos os espaços em branco, mas apenas de uma linha específica (digamos que a linha número 2), você pode usar o seguinte comando:

$ cat testfile | sed -r '2s / \ s + // g'

Remover todos os espaços em branco à esquerda (incluindo espaços e guias)

Para remover todos os espaços em branco do início de cada linha (espaços em branco à esquerda), use o seguinte comando:

$ cat testfile | sed 's / ^ [\ t] * //'

Resultado:

A seguinte saída apareceu após a execução do comando acima, que mostra que todos os espaços em branco iniciais foram removidos do texto.

Você também pode usar o seguinte comando para verificar se todos os espaços em branco foram removidos:

$ cat testfile | sed 's / ^ [\ t] * //' | tr "" "*" | tr "\ t" "&"

Na saída, você pode ver que não há nenhum símbolo (*) no início das linhas, o que verifica se todos os espaços em branco à esquerda foram removidos.

Para remover os espaços em branco iniciais de apenas uma linha específica (digamos, linha número 2), você pode usar o seguinte comando:

$ cat testfile | sed '2s / ^ [\ t] * //'

Remover todos os espaços em branco à direita (incluindo espaços e guias)

Para remover todos os espaços em branco do final de cada linha (espaços em branco à direita), use o seguinte comando:

$ cat testfile | sed 's / [\ t] * $ //'

Resultado:

A seguinte saída apareceu após a execução do comando acima, que mostra que todos os espaços em branco à direita foram removidos do texto.

Você também pode usar o seguinte comando para verificar se todos os espaços em branco à direita foram removidos.

$ cat testfile | sed 's / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Na saída, você pode ver que não há nenhum símbolo (*) no final das linhas, o que verifica se todos os espaços em branco à direita foram removidos.

Para remover os espaços em branco à direita de apenas uma linha específica (digamos que a linha número 2), você pode usar o seguinte comando:

$ cat testfile | sed '2s / [\ t] * $ //'

Remova os espaços em branco à esquerda e à direita

Para remover todos os espaços em branco do início e do final de cada linha (i.e. espaços em branco à esquerda e à direita), use o seguinte comando:

$ cat testfile | sed 's / ^ [\ t] * //; s / [\ t] * $ //'

Resultado:

A seguinte saída apareceu após a execução do comando acima, que mostra que os espaços em branco à esquerda e à direita foram removidos do texto.

Você também pode usar o seguinte comando para verificar se os espaços em branco à esquerda e à direita foram removidos.

$ cat testfile | sed 's / ^ [\ t] * //; s / [\ t] * $ //' | tr "" "*" | tr "\ t" "&"

Na saída, você pode ver que não há nenhum símbolo (*) no início ou no final das linhas, o que verifica se todos os espaços em branco à esquerda e à direita foram removidos.

Para remover os espaços em branco à esquerda e à direita de apenas uma linha específica (digamos que a linha número 2), você pode usar o seguinte comando:

$ cat testfile | sed '2s / ^ [\ t] * //; 2s / [\ t] * $ //'

Substitua vários espaços em branco por um único espaço em branco

Em alguns casos, existem vários espaços em branco no mesmo lugar no arquivo, mas você só precisa de um único espaço em branco. Você pode fazer isso substituindo esses vários espaços por um único espaço usando o sed.

O comando a seguir substituirá todos os vários espaços em branco por um único espaço em branco de cada linha no “testfile”.

$ cat testfile | sed 's / [] \ + / / g'

Resultado:

A seguinte saída apareceu após a execução do comando acima, que mostra que os vários espaços em branco foram substituídos por um único espaço em branco.

Você também pode usar o seguinte comando para verificar se vários espaços em branco foram substituídos por um único espaço em branco:

$ cat testfile | sed 's / [] \ + / / g' | tr "" "*" | tr "\ t" "&"

Na saída, você pode ver o único símbolo (*) em cada lugar que verifica se todas as ocorrências dos vários espaços em branco foram substituídas por um único espaço em branco.

Então, isso era tudo sobre como remover os espaços em branco de seus dados usando o sed. Neste artigo, você aprendeu como usar o sed para remover todos os espaços em branco de seus dados, remover apenas os espaços em branco à esquerda ou à direita e remover os espaços em branco à esquerda e à direita. Você também aprendeu como substituir vários espaços por um único espaço. Agora será fácil para você remover espaços em branco de um arquivo contendo centenas ou milhares de linhas.

Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...