Extrai dois valores dos arquivos

1

Eu gostaria de extrair dois valores de uma série de arquivos .txt.

Estas são as duas últimas linhas (linha 49 e 50) do meu arquivo .txt

1  13593 3434 2.2585  0.9
2   3333  333 3.7118  0.8

& Desejo extrair a quarta coluna (ex. 2.2585 e 3.7118) da linha 49 e a linha 50 de cada arquivo .txt.

Existe uma maneira de fazer isso?

Muito obrigado

    
por jahanvi patel 01.11.2016 / 19:50

1 resposta

2

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 da linha 49 e 50.

awk 'FNR==49 || FNR==50 {print $4}' input

Agora, para ler todos os arquivos no diretório (assumindo que todos os arquivos estejam no mesmo diretório), você pode executar um loop for para ler nomes de arquivos. Então a declaração final será como -

for file in *; do awk 'FNR==49 || FNR==50 {print $4}' "$file"; done

E como trosos mencionado, os arquivos de entrada são apenas .txt format. Então nós podemos fazer

awk 'FNR==49 || FNR==50 {print $4}' *.txt

    
por 01.11.2016 / 20:16

Tags