Como ler dados da coluna de um arquivo de texto em um script de shell bash

Como ler dados da coluna de um arquivo de texto em um script de shell bash

Uma das tarefas que podem ser executadas usando um script de shell bash é ler dados de um arquivo de texto e processando -os. Neste artigo, veremos como ler uma coluna específica de dados de um arquivo de texto ou como ler várias colunas de um arquivo de texto em um script de shell bash.

Como ler dados da coluna de um arquivo de texto em um script de shell bash

Lendo colunas específicas de dados de um arquivo de texto em um script de shell Bash é útil em vários aplicativos, como em tarefas repetitivas automatizadas, desenvolvimento de software, gerenciamento de texto e muito mais, tudo o que você precisa fazer é apenas ler essa coluna respectiva. Para uma ilustração adicional abaixo da sintaxe que se pode seguir para ler qualquer coluna de qualquer arquivo de texto:

#!/BIN/BASH
enquanto lida linha; fazer
# Use awk para extrair o terceiro campo (o nome) de cada linha
= $ (echo $ line | awk 'print $')
# Imprima o nome
eco $
feito < .TXT


1: O script começa especificando o intérprete da concha a ser usado com a linha Shebang #!/BIN/BASH.

2: O loop while lê o conteúdo do arquivo de texto linha por linha, usando o comando de leitura e para cada linha que é lida, o Awk O comando é usado para extrair o campo (o nome) da linha. O comando AWK usa o padrão print $ Para selecionar o campo, que é armazenado no nome da variável.

3: Finalmente, o script imprime o valor da variável de nome usando o comando echo e esse processo é repetido para cada linha no arquivo até que não haja mais linhas para ler.

Para o entendimento do leitor, usei a sintaxe acima para ler uma coluna do arquivo de texto e abaixo é o código para ele:

#!/BIN/BASH
enquanto lida linha; fazer
# Use awk para extrair o segundo campo de cada linha
info = $ (echo $ line | awk 'print $ 3')
# Imprima a idade
eco $ info
feito < company_details.txt


Aqui no código, li a terceira coluna de cada linha do arquivo de texto chamado Detalhes da empresa, o comando AWK é usado para extrair o terceiro campo (o nome) da linha. O comando AWK usa o padrão Print $ 3 para selecionar o terceiro campo, aqui está a saída do meu código de exemplo:


Abaixo está o arquivo de texto que criei para fins de demonstração:

Como ler várias colunas de um arquivo de texto no script Bash Shell

Se você quiser ler mais de uma coluna ou arquivo, tudo o que você precisa para adicionar o número da coluna e o restante é o mesmo, então aqui está o código para ler mais de uma coluna do arquivo de texto:

#!/BIN/BASH
# Esta linha especifica que o script deve ser interpretado pelo Bash Shell.
# Faça um loop através de cada linha do arquivo
enquanto lida linha; fazer
# Use awk para extrair o terceiro campo (o nome) de cada linha
info = $ (echo $ line | awk 'print $ 1, $ 2, $ 3')
# Imprima o nome
eco $ info
feito < company_details.txt


Abaixo está a saída do código que lê as três colunas no arquivo de texto:

Conclusão

Os scripts bash são uma ferramenta versátil que pode ser usada para automatizar várias tarefas, especialmente quando se trata de sistemas baseados em UNIX. Ao combinar o loop while e outros comandos do shell, pode -se ler facilmente os dados da coluna de um arquivo de texto e executar várias operações com os dados.