[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Res: [shell-script] Dificuldade de fazer um scrip de shell
From: |
Camilo Silva |
Subject: |
Res: [shell-script] Dificuldade de fazer um scrip de shell |
Date: |
Tue, 26 Dec 2006 13:16:34 -0800 (PST) |
JHOL ,
Não sei se ajudaria mas pode-se tentar
Digamos que seu arquivo teste.txt possuísse o conteúdo :
04067174401000100038101511711060824 0000 - linha 1
04067174402000100038101511711060824 0000 - linha 2
02067305475002200038211101711060000 0042 - linha 3
01067305480002200038811101711060000 0042 - linha 4
01068157444002200262911101711060000 0043 - linha 5
03067305481000300038911101711060000 0022 - linha 6
01067305481000300038911101711060000 0022 - linha 7
cat teste.txt | sed -n '/^04/p' | while read a; do echo ${a:16:5}; done | awk
'{ tot = tot + $1} END { print"resultado ==> " tot}'
resultado ==> 762
----- Mensagem original ----
De: JHOL XD <address@hidden>
Para: address@hidden
Enviadas: Terça-feira, 26 de Dezembro de 2006 13:07:20
Assunto: [shell-script] Dificuldade de fazer um scrip de shell
Ola pessoal meu problema é o seguinte
estou procurando um combo de comandos em shell script para fazer
em uma linha de +ou- 39 carteres numericos em um arquivo de mais de
20mil linhas
selecionar os dois primeiros caracteres em um numero especifico
selecionar do 16 caractere ao 21 caractere e essa sequencia de
cararteres seja somada
um ex
0406717440100010003 8101511711060824 0000 - linha 1
0406717440200010003 8101511711060824 0000 - linha 2
0206730547500220003 8211101711060000 0042 - linha 3
0106730548000220003 8811101711060000 0042 - linha 4
0106815744400220026 2911101711060000 0043 - linha 5
0306730548100030003 8911101711060000 0022 - linha 6
0106730548100030003 8911101711060000 0022 - linha 7
preciso selecionar todas as linhas com começo 04 e somar a sequencia
do 16 caractere ao 21 caratere
dessa linha no caso desse ex selecionaria
0406717440100010003 8101511711060824 0000 - linha 1
0406717440200010003 8101511711060824 0000 - linha 2
dai somaria a sequencia da 16 ao 21 caractere no caso 000381
000381
+000381
000762
no caso exiba o numero 000762
eu cheguei até esse comando até
agora cat arquivo_exemplo | grep -E '^04' | cut -c 16-21
por favor me ajudem desde já agradeço
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
[As partes desta mensagem que não continham texto foram removidas]
- Res: [shell-script] Dificuldade de fazer um scrip de shell,
Camilo Silva <=