Gostaria de extrair dois valores de uma série de arquivos .txt.
Estas são as duas últimas linhas (linha 49 e linha 50) do meu arquivo .txt
1 13593 3434 2.2585 0.9
2 3333 333 3.7118 0.8
E quero extrair a 4ª coluna (ex. 2.2585 e 3.7118) da linha 49 e da linha 50 de cada arquivo .txt.
Existe uma forma de fazer isso?
Muito obrigado
Responder1
Você pode usar awk
para processamento de texto. A instrução awk a seguir lê o arquivo 'input' e imprime o valor na coluna 4 das linhas 49 e 50.
awk 'FNR==49 || FNR==50 {imprimir $4}' entrada
Agora, para ler todos os arquivos no diretório (assumindo que todos os arquivos estão no mesmo diretório), você pode executar um loop for para ler os nomes dos arquivos. Então a declaração final será como -
para arquivo em *; faça awk 'FNR==49 || FNR==50 {print $4}' "$arquivo"; feito
E como trososmencionado, os arquivos de entrada são apenas .txt
formatados. Então podemos fazer
awk 'FNR==49 || FNR==50 {imprimir $4}' *.txt