Copiar valor dentro de arquivo

1. Copiar valor dentro de arquivo

Xavier Neto
AsakuraHao

(usa Manjaro Linux)

Enviado em 07/10/2014 - 15:00h

Boa tarde.

Eu possuo vários arquivos ".txt" e preciso copiar 4 valores que existem dentro de cada um deles em um novo arquivo de texto.

Os valores que preciso copiar sempre começam com um mesmo texto, exemplo:

(...) texto (...)

XXX: X(XXXXXX) = "valor" XXXXXXXX

(...) texto (...)

XXX: X(XXXXXX) = "valor" XXXXXXXX

(...) texto (...)

XXX: X(XXXXXX) = "valor" XXXXXXXX

(...) texto (...)

XXX: X(XXXXXX) = "valor" XXXXXXXX.

Existe algum comando de shell que me permita entrar em cada arquivo e copiar os valores em um segundo arquivo, onde os quatro resultados apareçam (de preferência separados)?


  


2. Re: Copiar valor dentro de arquivo

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/10/2014 - 15:07h

Você pode criar um script assim:


#!/bin/bash

for i in *
do
echo $i >> arquivo2
cat $i | grep "XXX: X(XXXXXX) = valor XXXXXXXX" >> arquivo2
echo >> arquivo2
done


Salve com um nome qualquer e execute ele na pasta que contém os arquivos; qualquer dúvida ou informação extra pode voltar;


3. Re: Copiar valor dentro de arquivo

Xavier Neto
AsakuraHao

(usa Manjaro Linux)

Enviado em 07/10/2014 - 16:01h

Inicialmente, obrigado pela resposta rápida.

Segundo, o que significa o "*"?
Terceiro, tem como eu pegar só o valor que vem depois do =?



4. Re: Copiar valor dentro de arquivo

Xavier Neto
AsakuraHao

(usa Manjaro Linux)

Enviado em 07/10/2014 - 18:11h

Eu fiz de uma forma um pouco mais simples...

grep -w "^XXX" *.txt >> teste.txt. Daí ele copia a linha que começa com o XXX, mas eu não quero que ele copie a linha toda, eu gostaria que ele copiasse só o que está depois do "="... tem como?


5. Re: Copiar valor dentro de arquivo

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/10/2014 - 20:48h

AsakuraHao escreveu:

Eu fiz de uma forma um pouco mais simples...

grep -w "^XXX" *.txt >> teste.txt. Daí ele copia a linha que começa com o XXX, mas eu não quero que ele copie a linha toda, eu gostaria que ele copiasse só o que está depois do "="... tem como?


grep -w "^XXX" *.txt | cut -d "=" -f 2 >> teste.txt 





6. Re: Copiar valor dentro de arquivo

Xavier Neto
AsakuraHao

(usa Manjaro Linux)

Enviado em 08/10/2014 - 15:05h

Obrigado, deu certo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts