[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] selecionar texto por posicoes dentro de um txt
From: |
groo |
Subject: |
Re: [shell-script] selecionar texto por posicoes dentro de um txt |
Date: |
Fri, 12 Mar 2004 08:31:21 -0300 |
resolvi assim:
#!/bin/sh
NOTA=`echo $LINHA | cut -c8-13`
PESO=`echo $LINHA | cut -c14-25`
for ARQUIVO in `ls *.TXT`
do
for LINHA in `cat $ARQUIVO | grep -v 313 | awk -F ' ' '{print $2 $9}'`
do
echo "$NOTA $PESO" >> notapeso.txt
done
done
num tah muito lindo mas funfou.
Eric Anderson
CPD Via Net SAO
11-66432800
11-96427554
----- Original Message -----
From: Rodolfo Villanova - TmS Brasil
To: Shell-Script
Sent: Thursday, March 11, 2004 5:14 PM
Subject: RES: [shell-script] selecionar texto por posicoes dentro de um txt
Caramba,
Fiz duas ca... das grandes, camaradas!
É no que dá enviar sem testar antes!
Vou corrigir:
No primeiro loop, retirar a linha que contem a atribuição à variável VAR.
Fica assim:
while read -r VAR resto
do
PRI=`echo $VAR | cut -c10-20`
SEG=`echo $VAR | cut -c45-47`
done < /diretorio/arquivo_dados.txt
No segundo loop, reescrevo, pois é pra trabalhar com 3 campos:
while read -r VAR1 VAR2 VAR3 resto
do
PRI=`echo $VAR1 | tr -s " " " " | cut -d" " -f1 | cut -c10-20`
SEG=`echo $VAR3 | tr -s " " " " | cut -d" " -f3 | cut -c9-11
done < /diretorio/arquivo_dados.txt
Agora sim! (e desculpem-me pela pressa!)
--------------------------
Rodolfo Villanova
-----Mensagem original-----
De: groo [mailto:address@hidden]
Enviada em: quinta-feira, 11 de março de 2004 16:27
Para: Rodolfo Villanova - TmS Brasil
Assunto: Re: [shell-script] selecionar texto por posicoes dentro de um txt
valew
eu nao agredeço todas as respostas por falta de tempo e pq acho q num
precisa neh?
[]´s
Eric Anderson
CPD Via Net SAO
11-66432800
11-96427554
----- Original Message -----
From: Rodolfo Villanova - TmS Brasil
To: address@hidden
Sent: Thursday, March 11, 2004 3:06 PM
Subject: RES: [shell-script] selecionar texto por posicoes dentro de um txt
Fala, Bro!
Se o <espaço> que está contido na linha abaixo possuir tamanho fixo, é
possível fazer assim:
VAR="ericandersonmartinsmiranda 31071972 ruaantoniomariab"
PRI=`echo $VAR | cut -c10-20`
SEG=`echo $VAR | cut -c45-47`
Como provavelmente essa linha deve fazer parte de um lote desse tipo de
linha, então basta colocar essas linha dentro de um loop:
while read -r VAR resto
do
VAR="ericandersonmartinsmiranda 31071972 ruaantoniomariab"
PRI=`echo $VAR | cut -c10-20`
SEG=`echo $VAR | cut -c45-47`
done < /diretorio/arquivo_dados.txt
ou ainda, usando awk:
awk '{ print(substr($0,10,10), substr($0,45,3))}'
/diretorio/arquivo_dados.txt
Já se os espaços forem de tamanho variável, é melhor tratar os dados como
campos:
while read -r VAR resto
do
VAR="ericandersonmartinsmiranda 31071972 ruaantoniomariab"
PRI=`echo $VAR | tr -s " " " " | cut -d" " -f1 | cut -c10-20`
SEG=`echo $VAR | tr -s " " " " | cut -d" " -f3 | cut -c9-11
done < /diretorio/arquivo_dados.txt
ou com awk:
awk '{ print(substr($1,10,10), substr($3,9,3))}'
/diretorio/arquivo_dados.txt
Beleza?
Boa sorte!
-----------------
Rodolfo Villanova
> -----Mensagem original-----
> De: groo [mailto:address@hidden]
> Enviada em: quinta-feira, 11 de março de 2004 14:23
> Para: address@hidden
> Assunto: [shell-script] selecionar texto por posicoes dentro de um txt
>
>
> se eu tenho um arkivo com linhas assim:
>
>
> ericandersonmartinsmiranda<espaço>31071972<espaco>ruaantoniomariab
> essa<espaco>466
>
> gostaria de saber como eu posso pegar apenas o texto do
> caracter 10 ao 20 e do 45 ao 47.
>
> sds
>
> Eric Anderson
> CPD Via Net SAO
> 11-66432800
> 11-96427554
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir esta
> regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
Para visitar o site do seu grupo, acesse:
http://br.groups.yahoo.com/group/shell-script/
Para sair deste grupo, envie um e-mail para:
address@hidden
O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
Para visitar o site do seu grupo, acesse:
http://br.groups.yahoo.com/group/shell-script/
Para sair deste grupo, envie um e-mail para:
address@hidden
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
Yahoo!.
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: VirusScan / Atualizado em 10/03/2004 / Versão: 1.4.1
Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
------------------------------------------------------------------------------
Links do Yahoo! Grupos
a.. Para visitar o site do seu grupo, acesse:
http://br.groups.yahoo.com/group/shell-script/
b.. Para sair deste grupo, envie um e-mail para:
address@hidden
c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
do Yahoo!.
------------------------------------------------------------------------------
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: VirusScan / Atualizado em 10/03/2004 / Versão: 1.4.1
Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
[As partes desta mensagem que não continham texto foram removidas]