Comando para copiar um pedaço de um arquivo ".out" e redirecionar para outro arquivo ".txt"

1. Comando para copiar um pedaço de um arquivo ".out" e redirecionar para outro arquivo ".txt"

Flávio Olimpio Sanches Neto
flavio_olimpo

(usa Outra)

Enviado em 05/09/2016 - 14:04h

Boa tarde pessoal,

Sou iniciante no Linux, e queria saber como que posso pegar valores específicos dentro de um arquivo de saída (formato .out) e redirecionar esses valores para um outro arquivo .txt por exemplo.

Exemplifico:

----------------------------
! Optimized Parameters !
! (Angstroms and Degrees) !
-------------------------- --------------------------
! Name Definition TS Reactant Product Derivative Info. !
--------------------------------------------------------------------------------
! R1 R(1,2) 1.0931 1.0986 1.0986 -DE/DX = 0.0 !
! R2 R(1,3) 1.0995 1.0944 1.0944 -DE/DX = 0.0 !
! R3 R(1,4) 1.0995 1.0944 1.0944 -DE/DX = 0.0 !
! R4 R(1,5) 1.4579 1.4338 1.37 -DE/DX = 0.0 !
! R5 R(5,6) 1.0279 0.92 1.273 -DE/DX = 0.0 !
! R6 R(6,7) 1.3617 1.2508 0.96 -DE/DX = 0.0 !
! A1 A(2,1,3) 108.1312 110.4238 110.4238 -DE/DX = 0.0 !
! A2 A(2,1,4) 108.1332 110.4242 110.4242 -DE/DX = 0.0 !
! A3 A(2,1,5) 105.1272 103.583 103.583 -DE/DX = 0.0 !
! A4 A(3,1,4) 108.4989 111.3143 111.3143 -DE/DX = 0.0 !
! A5 A(3,1,5) 113.3357 110.4169 110.4169 -DE/DX = 0.0 !
! A6 A(4,1,5) 113.3367 110.4242 110.4242 -DE/DX = 0.0 !
! A7 A(1,5,6) 108.0007 109.8519 122.9059 -DE/DX = 0.0 !
! A8 A(5,6,7) 166.8848 127.2122 112.3 -DE/DX = 0.0 !
! D1 D(2,1,5,6) -180.0195 179.9448 179.07 -DE/DX = 0.0 !
! D2 D(3,1,5,6) -62.134 -61.8258 -62.7006 -DE/DX = 0.0 !
! D3 D(4,1,5,6) 62.0921 61.7114 60.8366 -DE/DX = 0.0 !
! D4 D(1,5,6,7) 0.4624 4.8413 4.5699 -DE/DX = 0.0 !
--------------------------------------------------------------------------------
dentro do arquivo .out, eu tenho muita coisa escrita, e tem também essa tabela acima, eu queria pegar apenas os valores da coluna TS, correspondente a linha R5, R6 e A8 e redirecionar esses valores para um arquivo txt e quem sabe fazer ainda um script para que possa pegar não somente de um arquivo e sim de todos os arquivos que eu possuo.

Grato!


  


2. Re: Comando para copiar um pedaço de um arquivo ".out" e redirecionar para outro arquivo ".txt"

thinomar
thinomar

(usa Linux Mint)

Enviado em 05/09/2016 - 14:38h

awk '/TS|R5|R6|A8/ {print $4}' ./arquivo_entrada.out >> arquivo_saida.txt 



3. Re: Comando para copiar um pedaço de um arquivo

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/09/2016 - 14:54h

flavio_olimpo escreveu:
dentro do arquivo .out, eu tenho muita coisa escrita, e tem também essa tabela acima, eu queria pegar apenas os valores da coluna TS, correspondente a linha R5, R6 e A8 e redirecionar esses valores para um arquivo txt e quem sabe fazer ainda um script para que possa pegar não somente de um arquivo e sim de todos os arquivos que eu possuo.


cat arquivo.out | grep R5 | cut -d ' ' -f4 


esse comando procura em "arquivo .out" a palavra "R5", retorna a 4° coluna ... para mandar para um outro arquivo é só implementar no final "> arquivo.txt" ou ">> arquivo.txt" de acordo com sua necessiadade de implementação.

cat arquivo.out | grep R5 | cut -d ' ' -f4 >> arquivo.txt 

cat arquivo.out | grep R5 | cut -d ' ' -f4 > arquivo.txt 


espero que possa te ajudar a fazer os outros comandos !!!


___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


4. Re: Comando para copiar um pedaço de um arquivo ".out" e redirecionar para outro arquivo ".txt"

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/09/2016 - 17:42h

flavio_olimpo escreveu:

Boa tarde pessoal,

Sou iniciante no Linux, e queria saber como que posso pegar valores específicos dentro de um arquivo de saída (formato .out) e redirecionar esses valores para um outro arquivo .txt por exemplo.

Exemplifico:

----------------------------
! Optimized Parameters !
! (Angstroms and Degrees) !
-------------------------- --------------------------
! Name Definition TS Reactant Product Derivative Info. !
--------------------------------------------------------------------------------
! R1 R(1,2) 1.0931 1.0986 1.0986 -DE/DX = 0.0 !
! R2 R(1,3) 1.0995 1.0944 1.0944 -DE/DX = 0.0 !
! R3 R(1,4) 1.0995 1.0944 1.0944 -DE/DX = 0.0 !
! R4 R(1,5) 1.4579 1.4338 1.37 -DE/DX = 0.0 !
! R5 R(5,6) 1.0279 0.92 1.273 -DE/DX = 0.0 !
! R6 R(6,7) 1.3617 1.2508 0.96 -DE/DX = 0.0 !
! A1 A(2,1,3) 108.1312 110.4238 110.4238 -DE/DX = 0.0 !
! A2 A(2,1,4) 108.1332 110.4242 110.4242 -DE/DX = 0.0 !
! A3 A(2,1,5) 105.1272 103.583 103.583 -DE/DX = 0.0 !
! A4 A(3,1,4) 108.4989 111.3143 111.3143 -DE/DX = 0.0 !
! A5 A(3,1,5) 113.3357 110.4169 110.4169 -DE/DX = 0.0 !
! A6 A(4,1,5) 113.3367 110.4242 110.4242 -DE/DX = 0.0 !
! A7 A(1,5,6) 108.0007 109.8519 122.9059 -DE/DX = 0.0 !
! A8 A(5,6,7) 166.8848 127.2122 112.3 -DE/DX = 0.0 !
! D1 D(2,1,5,6) -180.0195 179.9448 179.07 -DE/DX = 0.0 !
! D2 D(3,1,5,6) -62.134 -61.8258 -62.7006 -DE/DX = 0.0 !
! D3 D(4,1,5,6) 62.0921 61.7114 60.8366 -DE/DX = 0.0 !
! D4 D(1,5,6,7) 0.4624 4.8413 4.5699 -DE/DX = 0.0 !
--------------------------------------------------------------------------------
dentro do arquivo .out, eu tenho muita coisa escrita, e tem também essa tabela acima, eu queria pegar apenas os valores da coluna TS, correspondente a linha R5, R6 e A8 e redirecionar esses valores para um arquivo txt e quem sabe fazer ainda um script para que possa pegar não somente de um arquivo e sim de todos os arquivos que eu possuo.
Grato!


Boa tarde.
Segue sugestão :
sed -nr '/^! R5|^! R6|^! A8/p' ARQUIVO.out|cut -d " " -f4 >> ARQUIVO_SAIDA.txt
O "sed" busca por linhas iniciadas com "! R5, ! R6 e ! A8", direciona "|" para o cut, no exemplo acima "pega " o campo 04 "-f4".

att.:
marcelo oliver








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts