Awk

Como imprimir a primeira coluna ou última coluna ou ambas usando 'awk'

Como imprimir a primeira coluna ou última coluna ou ambas usando 'awk'

O comando 'awk' do Linux é um utilitário poderoso para diferentes operações em arquivos de texto, como pesquisar, substituir e imprimir. É fácil de usar com dados tabulares porque divide automaticamente cada linha em campos ou colunas com base no separador de campo. Quando você trabalha com um arquivo de texto que contém dados tabulares e deseja imprimir os dados de uma coluna específica, o comando 'awk' é a melhor opção. Neste tutorial, mostraremos como imprimir a primeira coluna e / ou última coluna de uma linha ou arquivo de texto.

Imprime a primeira coluna e / ou última coluna de uma saída de comando

Muitos comandos do Linux, como o comando 'ls', geram resultados tabulares. Aqui, mostraremos como imprimir a primeira coluna e / ou a última coluna da saída do comando 'ls -l'.

Exemplo 1: imprima a primeira coluna de uma saída de comando

O seguinte comando 'awk' irá imprimir a primeira coluna da saída do comando 'ls -l'.

$ ls -l
$ ls -l | awk 'print $ 1'

A seguinte saída será produzida após a execução dos comandos acima.

Exemplo 2: imprimir a última coluna de uma saída de comando

O seguinte comando 'awk' irá imprimir a última coluna da saída do comando 'ls -l'.

$ ls -l
$ ls -l | awk 'print $ NF'

A seguinte saída será produzida após a execução dos comandos acima.

Exemplo 3: imprimir a primeira e a última coluna de uma saída de comando

O seguinte comando 'awk' irá imprimir a primeira e a última coluna da saída do comando 'ls -l'.

$ ls -l
$ ls -l | awk 'print $ 1, $ NF'

A seguinte saída será produzida após a execução dos comandos acima.

Imprime a primeira coluna e / ou última coluna de um arquivo de texto

Aqui, mostraremos como usar o comando 'awk' para imprimir a primeira coluna e / ou a última coluna de um arquivo de texto.

Crie um arquivo de texto

Para acompanhar este tutorial, crie um arquivo de texto chamado clientes.TXT com o seguinte conteúdo. O arquivo contém três tipos de dados do cliente: nome com id, e-mail e número de telefone. O caractere de tabulação (\ t) é usado para separar esses valores.

Nome Email Telefone
Jonathon Bing - 1001 [e-mail protegido] 01967456323
Micheal Jackson - 2006 [email protegido] 01756235643
Janifer Lopez - 3029 [email protegido] 01822347865
John Abraham - 4235 j [email protected] 01590078452
Mir Sabbir - 2756 [email protegido] 01189523978

Exemplo 4: Imprimir a primeira coluna de um arquivo sem usar um separador de campo

Se nenhum separador de campo for usado no comando 'awk', então um espaço é usado como o separador de campo padrão. O seguinte comando 'awk' irá imprimir a primeira coluna usando o separador padrão.

clientes $ cat.TXT
clientes $ awk 'print $ 1'.TXT

A seguinte saída será produzida após a execução dos comandos acima. Observe que a saída mostra apenas o primeiro nome do cliente porque o espaço é aplicado como separador de campo. A solução para este problema é mostrada no próximo exemplo.

Exemplo 5: imprimir a primeira coluna de um arquivo com um delimitador

Aqui, \ t é usado como um separador de campo para imprimir a primeira coluna do arquivo. A opção '-F' é ​​usada para definir o separador de campo.

clientes $ cat.TXT
$ awk -F '\ t' 'print $ 1' clientes.TXT

A seguinte saída será produzida após a execução dos comandos acima. O conteúdo do arquivo é dividido em três colunas com base em \ t. Portanto, o nome e a id do cliente são impressos como a primeira coluna. Se você deseja imprimir o nome do cliente sem a id, continue para o próximo exemplo.


Se você deseja imprimir o nome do cliente sem o id, você deve usar '-' como um separador de campo. O seguinte comando 'awk' irá imprimir o nome do cliente apenas como a primeira coluna.

clientes $ cat.TXT
$ awk -F '-' 'print $ 1' clientes.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída inclui os nomes completos dos clientes sem seus ids.

Exemplo 6: Imprimir a última coluna de um arquivo

O seguinte comando 'awk' irá imprimir a última coluna de clientes.TXT. Como nenhum separador de campo é usado no comando, o espaço será usado como um separador de campo.

clientes $ cat.TXT
clientes $ awk 'print $ NF'.TXT

A seguinte saída será produzida após a execução dos comandos acima. A última coluna contém números de telefone, conforme mostrado na saída.

Exemplo 7: Imprimir a primeira e a última coluna de um arquivo

O seguinte comando 'awk' imprimirá a primeira e a última coluna de clientes.TXT. Aqui, tab (\ t) é usado como separador de campo para dividir o conteúdo em colunas. Aqui, tabulação (\ t) é usada como separador para a saída.

clientes $ cat.TXT
$ awk -F "\ t" 'print $ 1 "\ t" $ NF' clientes.TXT

A seguinte saída aparecerá após a execução dos comandos acima. O conteúdo é dividido em três colunas por \ t; a primeira coluna contém o nome e id do cliente e a segunda coluna contém o número de telefone. A primeira e a última colunas são impressas usando \ t como separador.

Conclusão

O comando 'awk' pode ser aplicado de diferentes maneiras para obter a primeira coluna e / ou a última coluna de qualquer saída de comando ou de dados tabulares. É importante notar que um separador de campo é necessário no comando e, se não for fornecido, o espaço é usado.

Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...