Awk

Awk Trim Whitespace

Awk Trim Whitespace
Como programador, você pode ter que trabalhar com arquivos diferentes para armazenar e manipular dados. Uma tarefa básica de manipulação de arquivos envolve a remoção dos espaços em branco nos arquivos. Os espaços em branco são compostos por espaços, linhas em branco, nbsp e tabulações. Os programadores geralmente precisam remover os espaços em branco para que apenas os dados necessários sejam armazenados e os espaços em branco desnecessários possam ser eliminados. Os espaços em branco podem ser espaços iniciais (no início da linha) ou finais (no final da linha).

A seguir estão alguns cenários nos quais a remoção de espaços em branco pode ser necessária:

É possível remover os espaços em branco manualmente se um arquivo que contém apenas algumas linhas. Mas, para um arquivo contendo centenas de linhas, será difícil remover todos os espaços em branco manualmente. Existem várias ferramentas de linha de comando disponíveis para este propósito, incluindo sed, awk, cut e tr. Entre essas ferramentas, awk é um dos comandos mais poderosos.

O que é Awk?

Awk é uma linguagem de script poderosa e útil usada na manipulação de texto e geração de relatórios. O comando awk é abreviado com as iniciais de cada uma das pessoas (Aho, Weinberger e Kernighan) que o desenvolveu. Awk permite definir variáveis, funções numéricas, strings e operadores aritméticos; criar relatórios formatados; e mais.

Este artigo explica o uso do comando awk para cortar espaços em branco. Depois de ler este artigo, você aprenderá a usar o comando awk para realizar o seguinte:

Os comandos neste artigo foram executados em um Ubuntu 20.04 Sistema Focal Fossa. No entanto, os mesmos comandos também podem ser executados em outras distribuições Linux. Usaremos o aplicativo padrão do Terminal Ubuntu para executar os comandos neste artigo. Você pode acessar o terminal usando o atalho de teclado Ctrl + Alt + T.

Para fins de demonstração, usaremos o arquivo de amostra denominado “amostra.TXT.”Para realizar os exemplos fornecidos neste artigo.

Ver todos os espaços em branco em um arquivo

Para visualizar todos os espaços em branco presentes em um arquivo, canalize a saída do comando cat para o comando tr, da seguinte maneira:

amostra de $ cat.txt | tr "" "*" | tr "\ t" "&"

Este comando irá substituir todos os espaços em branco no arquivo fornecido com o caractere (*). Depois de inserir este comando, você será capaz de ver claramente onde todos os espaços em branco (incluindo os espaços em branco à esquerda e à direita) estão presentes no arquivo.

Os caracteres * na captura de tela a seguir mostram onde todos os espaços em branco estão presentes no arquivo de amostra. Um único * representa um único espaço em branco.

Cortar todos os espaços em branco

Para remover todos os espaços em branco de um arquivo, canalize o comando out of cat para o comando awk, da seguinte maneira:

amostra de $ cat.txt | awk 'gsub (/ /, ""); impressão '

Onde

O comando acima substitui todos os espaços em branco (/ /) por nada (“”).

Na captura de tela a seguir, você pode ver que todos os espaços em branco, incluindo os espaços em branco à esquerda e à direita, foram removidos da saída.

Cortar espaços em branco à esquerda

Para remover apenas os espaços em branco iniciais do arquivo, canalize o comando out of cat para o comando awk, da seguinte maneira:

amostra de $ cat.txt | awk 'sub (/ ^ [\ t] + /, ""); impressão '

Onde

O comando acima substitui um ou mais espaços no início da string (^ [\ t] +) por nada (“”) para remover os espaços em branco iniciais.

Na captura de tela a seguir, você pode ver que todos os espaços em branco iniciais foram removidos da saída.

Você pode usar o seguinte comando para verificar se o comando acima removeu os espaços em branco à esquerda:

amostra de $ cat.txt | awk 'sub (/ ^ [\ t] + /, ""); print '| tr "" "*" |
tr "\ t" "&"

Na captura de tela abaixo, é claramente visível que apenas os espaços em branco iniciais foram removidos.

Cortar espaços em branco à direita

Para remover apenas os espaços em branco à direita de um arquivo, canalize o comando out of cat para o comando awk, da seguinte maneira:

amostra de $ cat.txt | awk 'sub (/ [\ t] + $ /, ""); impressão '

Onde

O comando acima substitui um ou mais espaços no final da string ([\ t] + $) por nada (“”) para remover os espaços em branco à direita.

Você pode usar o seguinte comando para verificar se o comando acima removeu os espaços em branco à direita:

amostra de $ cat.txt | awk 'sub (/ [\ t] + $ /, ""); print '| tr "" "*" | tr "\ t" "&"

Na captura de tela abaixo, é claramente visível que os espaços em branco à direita foram removidos.

Cortar espaços em branco à esquerda e à direita

Para remover os espaços em branco à esquerda e à direita de um arquivo, canalize o comando out of cat para o comando awk, da seguinte maneira:

amostra de $ cat.txt | awk 'gsub (/ ^ [\ t] + | [\ t] + $ /, ""); impressão '

Onde

O comando acima substitui os espaços à esquerda e à direita (^ [\ t]+ [\ t] + $) sem nada (“”) para removê-los.

Para determinar se o comando acima removeu os espaços em branco à esquerda e à direita do arquivo, use o seguinte comando:

amostra de $ cat.txt | awk 'gsub (/ ^ [\ t] + | [\ t] + $ /, ""); print '|
tr "" "*" | tr "\ t" "&"

Na captura de tela abaixo, é claramente visível que os espaços em branco à esquerda e à direita foram removidos e apenas os espaços em branco entre as strings permanecem.

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

Para substituir vários espaços por um único espaço, canalize o comando out of cat para o comando awk, da seguinte maneira:

amostra de $ cat.txt | awk 'gsub (/ [] + /, ""); impressão '

Onde:

O comando acima substitui vários espaços em branco ([] +) por um único espaço em branco (““).

Você pode usar o seguinte comando para verificar se o comando acima substituiu os vários espaços pelos espaços em branco:

amostra de $ cat.txt | awk 'sub (/ [\ t] + $ /, ""); print '| | tr "" "*" | tr "\ t" "&"

Havia vários espaços em nosso arquivo de amostra. Como você pode ver, vários espaços em branco na amostra.O arquivo txt foi substituído por um único espaço em branco usando o comando awk.

Para cortar os espaços em branco apenas nas linhas que contêm um caractere específico, como vírgula, dois pontos ou ponto e vírgula, use o comando awk com o -F separador de entrada.

Por exemplo, mostrado abaixo é nosso arquivo de amostra que contém espaços em branco em cada linha.

Para remover os espaços em branco apenas das linhas que contêm uma vírgula (,), o comando seria o seguinte:

$ cat sample1.txt | awk -F, '/, / gsub (/ /, ""); impressão'

Onde (-F,) é o separador de campo de entrada.

O comando acima apenas removerá e exibirá os espaços em branco das linhas que contêm o caractere especificado (,) nelas. O resto das linhas não serão afetadas.

Conclusão

Isso é tudo que você precisa saber para cortar os espaços em branco em seus dados usando o comando awk. A remoção dos espaços em branco de seus dados pode ser necessária por diversos motivos. Seja qual for o motivo, você pode facilmente cortar todos os espaços em branco em seus dados usando os comandos descritos neste artigo. Você pode até cortar os espaços em branco à esquerda ou à direita, cortar os espaços em branco à esquerda e à direita e substituir vários espaços por um único espaço com o comando awk.

Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...
Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...