Ajuda para extrair informação de arquivos com Shell Script

1. Ajuda para extrair informação de arquivos com Shell Script

Leonardo
leobm

(usa Ubuntu)

Enviado em 06/05/2023 - 13:52h

Boa tarde gente. Então, eu tenho um conjunto de 100 arquivos, numerados de 1 a 100, cada um contendo vários dados. Eu gostaria de pegar um dado de uma linha e coluna especifica de cada um desses arquivos e montar um outro arquivo formando uma tabelinha, por exemplo

dado1
dado2
...
dado100

isso eu sei fazer usando o awk. O problema é que antes disso eu quero checar se na última linha do arquivo do qual eu tiro o dado está escrito "normal termination". Eu gostaria de só imprimir os dados se isto estiver escrito. E eu também gostaria de imprimir ao lado do dado o numero do arquivo, então por exemplo

1 dado1
2 dado2
...
100 dado100

Alguém tem alguma ideia de como fazer tudo isso?


  


2. Re: Ajuda para extrair informação de arquivos com Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/05/2023 - 15:59h


leobm escreveu:

Boa tarde gente. Então, eu tenho um conjunto de 100 arquivos, numerados de 1 a 100, cada um contendo vários dados. Eu gostaria de pegar um dado de uma linha e coluna especifica de cada um desses arquivos e montar um outro arquivo formando uma tabelinha, por exemplo

dado1
dado2
...
dado100

isso eu sei fazer usando o awk. O problema é que antes disso eu quero checar se na última linha do arquivo do qual eu tiro o dado está escrito "normal termination". Eu gostaria de só imprimir os dados se isto estiver escrito. E eu também gostaria de imprimir ao lado do dado o numero do arquivo, então por exemplo

1 dado1
2 dado2
...
100 dado100

Alguém tem alguma ideia de como fazer tudo isso?

Boa tarde Leobm.
O "normal termination" a que se refere é o fim de linha?
Formato Linux, DOS, macOS, etc...



______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



3. Re: Ajuda para extrair informação de arquivos com Shell Script

Leonardo
leobm

(usa Ubuntu)

Enviado em 06/05/2023 - 17:54h


boa tarde msoliver, na verdade o "normal termination" está no inicio da última linha. Acontece que eu rodei um programa que realiza certos cálculos, e foi esse programa que me gerou os 100 arquivos aos quais me referi. Porém, em alguns casos ele dá erro e esses casos não devem ser considerados.


4. Re: Ajuda para extrair informação de arquivos com Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/05/2023 - 00:21h

leobm escreveu:


boa tarde msoliver, na verdade o "normal termination" está no inicio da última linha.
Acontece que eu rodei um programa que realiza certos cálculos, e foi esse programa que me gerou os 100 arquivos aos quais me referi.
Porém, em alguns casos ele dá erro e esses casos não devem ser considerados.

Se entendi corretamente, a solução é:

#!/usr/bin/env bash
#ajuste o NR e NF para a sua necessidade
string="normal termination";
for arq in *.txt;do
[[ $(tail -n1 ${arq}) =~ (${string}) ]] && awk -F";" 'NR==13{OFS=";";printf "%s;%s\n","'$arq'",$13 >> "novo_arq.txt"}' ${arq}
done



______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts