Como analisar o arquivo delimitado por guias usando 'awk'

Como analisar o arquivo delimitado por guias usando 'awk'

'Tab' é usado como um separador no arquivo delimitado por guia. Este tipo de arquivo de texto é criado para armazenar vários tipos de dados de texto em um formato estruturado. Existem diferentes tipos de comando no Linux para analisar esse tipo de arquivo. O comando 'awk' é uma das maneiras de analisar o arquivo delimitado de guia de maneiras diferentes. Os usos do comando 'awk' para ler o arquivo delimitado por guia mostrou neste tutorial.

Crie um arquivo delimitado por Tab:

Crie um arquivo de texto chamado Usuários.TXT com o seguinte conteúdo para testar os comandos deste tutorial. Este arquivo contém o nome, email, nome de usuário e senha do usuário.

Usuários.TXT

Nome por e -mail nome de usuário senha
MD. Robin [email protected] Robin89 563425
Nila Hasan [email protected] nila78 245667
Mirza Abbas [email protected] mirza23 534788
Aornob Hasan [email protected] arnob45 778473
Nuhas Ahsan [email protected] nuhas34 563452

Exemplo 1: Imprima a segunda coluna de um arquivo delimitado por guia usando a opção -f

O comando 'sed' a seguir imprimirá a segunda coluna de um arquivo de texto delimitado por guia. Aqui o '-F' a opção é usada para definir o separador de campo do arquivo.

$ CAT Usuários.TXT
$ awk -f '\ t' 'print $ 2' usuários.TXT

A saída a seguir aparecerá após a execução dos comandos. A segunda coluna do arquivo contém os endereços de email do usuário, que estão sendo exibidos como saída.

EXEMPLO 2: Imprima a primeira coluna de um arquivo delimitado por Tab usando a variável FS

O comando 'sed' a seguir imprimirá a primeira coluna de um arquivo de texto delimitado por guia. Aqui, Fs (Separador de campo) A variável é usada para definir o separador de campo do arquivo.

$ CAT Usuários.TXT
$ awk 'print $ 1' fs = '\ t' usuários.TXT

A saída a seguir aparecerá após a execução dos comandos. A primeira coluna do arquivo contém os nomes do usuário, que estão exibindo como saída.

Exemplo 3: Imprima a terceira coluna de um arquivo delimitado com Tab com formatação

O seguinte comando 'sed' imprimirá a terceira coluna do arquivo de texto delimitado por guia com formatação usando o Fs variável e printf. Aqui o Fs A variável é usada para definir o separador de campo do arquivo.

$ CAT Usuários.TXT
$ awk 'BEGIN fs = "\ t" printf "%10s \ n", $ 3' usuários.TXT

A saída a seguir aparecerá após a execução dos comandos. A terceira coluna do arquivo contém o nome de usuário que foi impresso aqui.

Exemplo-4: Imprima a terceira e a quarta colunas do arquivo delimitado por Tab usando OFS

OFS (separador de campo de saída) é usado para adicionar um separador de campo na saída. O comando 'awk' a seguir dividirá o conteúdo do arquivo com base no separador da guia (\ t) e imprimirá as 3ª e 4ª colunas usando a guia (\ t) como um separador.

$ CAT Usuários.TXT
$ awk -f "\ t" 'ofs = "\ t" print $ 3, $ 4> ("saída.txt ") 'usuários.TXT
$ CAT Output.TXT

A saída a seguir aparecerá após a execução dos comandos acima. As 3ª e 4ª colunas contêm o nome de usuário e a senha, que foram impressos aqui.

Exemplo 5: Substitua o conteúdo específico do arquivo delimitado por Tab

A função sub () é usada em 'awk para comandar para substituição. O comando 'Awk' a seguir pesquisará o número 45 e substituirá o número 90 se o número de pesquisa existir no arquivo. Após a substituição, o conteúdo do arquivo será armazenado na saída.arquivo txt.

$ CAT Usuários.TXT
$ awk -f "\ t" 'sub (/45/, 90); print' usuários.txt> saída.TXT
$ CAT Output.TXT

A saída a seguir aparecerá após a execução dos comandos acima. A saída.O arquivo txt mostra o conteúdo modificado após a aplicação da substituição. Aqui, o conteúdo da 5ª linha modificou e 'arnob45' é alterado para 'arnob90'.

EXEMPLO-6: Adicionar string no início de cada linha de um arquivo delimitado por guia

A seguir, o comando 'awk', a opção '-f' é usada para dividir o conteúdo do arquivo com base na guia (\ t). OFS usou para adicionar uma vírgula (,) como um separador de campo na saída. A função sub () é usada para adicionar a string '-→' no início de cada linha da saída.

$ CAT Usuários.TXT
$ awk -f "\ t" 'ofs = ","; sub (/^/, "---->"); imprima $ 1, $ 2, $ 3' usuários.TXT

A saída a seguir aparecerá após a execução dos comandos acima. Cada valor de campo é separado por vírgula (,) e uma string é adicionada no início de cada linha.

Exemplo 7: Substitua o valor de um arquivo delimitado por Tab usando a função gsub ()

A função gsub () é usada no comando 'awk' para substituição global. Todos os valores de string do arquivo substituirão onde o padrão de pesquisa corresponde. A principal diferença entre as funções sub () e gsub () é que a função sub () interrompe a tarefa de substituição após encontrar a primeira correspondência, e a função gsub () pesquisa o padrão no final do arquivo para substituição. O seguinte comando 'awk' pesquisará a palavra 'nila' e 'mira' globalmente no arquivo e substituirá todas as ocorrências pelo texto, 'nome inválido', onde a palavra de pesquisa corresponde.

$ CAT Usuários.TXT
$ awk -f '\ t' 'gsub (/nila | mira/, "nome inválido"); imprimir 'usuários.TXT

A saída a seguir aparecerá após a execução dos comandos acima. A palavra 'nila' existe duas vezes na 3ª linha do arquivo que foi substituído pela palavra 'nome inválido' na saída.

Exemplo 8: Imprima o conteúdo formatado de um arquivo delimitado de Tab

O seguinte comando 'awk' imprimirá o primeiro e as segundas colunas do arquivo com formatação usando o printf. A saída mostrará o nome do usuário anexando o endereço de e -mail entre colchetes.

$ CAT Usuários.TXT
$ awk -f '\ t' 'printf "%s (%s) \ n", $ 1, $ 2' usuários.TXT

A saída a seguir aparecerá após a execução dos comandos acima.

Conclusão

Qualquer arquivo delimitado por Tab pode ser facilmente analisado e impresso com outro delimitador usando o comando 'Awk'. As formas de analisar arquivos delimitados por guias e impressão em diferentes formatos mostraram neste tutorial usando vários exemplos. Os usos das funções sub () e gsub () no comando 'awk' por substituir o conteúdo do arquivo delimitado por Tab também são explicados neste tutorial. Espero que este tutorial ajude os leitores a analisar o arquivo delimitado com guia facilmente depois de praticar os exemplos deste tutorial corretamente.