[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Contar registros posicionais
From: |
Leandro Valiengo |
Subject: |
Re: [shell-script] Contar registros posicionais |
Date: |
Thu, 14 Jul 2016 22:35:42 +0000 (UTC) |
Pessoal,
boa noite.
Conforme disse, estou retornando agora para postar como foi meu dia. rs
Consegui com o comando:
awk '$0 !~ /^[09]{5}/ {linha[substr($0,1,3)";"substr($0,10,4)]++} END {for
(final in linha) print final";"linha[final]}' TEST* | sort -nr -k3 -t";"
saida:
001;GSIN;3
025:GSIN;1
028:RESD;1
Perfeito.
Agora vem a pior parte...imagino que seja um loop para conseguir.
Vejam a ultima versao do arquivo q foi parar na minha mao:
00000*HEADER20160301GSIN033820160505092801
001blablaGSINblabla
001blablaGSINblabla
001blablaGSINblabla
025blablaGSINblabla
028blablaRESDblabla
99999TRAILER
Preciso que a saida final seja:
a data de movimento e nome do programa, que estao na primeira linha, dt_mov
(posicao 13 ate 20) e nm_programa (21 até 28)
Mas preciso que saia assim:
001;GSIN;3;20160301;GSIN0338
025:GSIN;1;20160301;GSIN0338
028:RESD;1;20160301;GSIN0338
Obrigado.
--------------------------------------------
Em qui, 14/7/16, address@hidden [shell-script] <address@hidden> escreveu:
Assunto: Re: [shell-script] Contar registros posicionais
Para: address@hidden
Data: Quinta-feira, 14 de Julho de 2016, 7:37
Hudson
Não sei
pq minha msg anterior não foi, mas vou
repetir
Não sei se
usar o 5 como delimitador é uma boa idéia, acho que foi
apenas um acaso pelo exemplo apresentado, todavia curti a
sua solução em awk.Deixo aqui um outro exemplo
como mais uma sugestão:
awk '$0 !~ /^(00000|99999)/
{linha[substr($0,1,3)";"substr($0,46,4)]++};
END{for (item in linha) print
item";"linha[item]}' arq.txt | sort -r -k3
-t";"
[]'sItamar
#yiv4633987936 #yiv4633987936 --
#yiv4633987936ygrp-mkp {
border:1px solid #d8d8d8;font-family:Arial;margin:10px
0;padding:0 10px;}
#yiv4633987936 #yiv4633987936ygrp-mkp hr {
border:1px solid #d8d8d8;}
#yiv4633987936 #yiv4633987936ygrp-mkp #yiv4633987936hd {
color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}
#yiv4633987936 #yiv4633987936ygrp-mkp #yiv4633987936ads {
margin-bottom:10px;}
#yiv4633987936 #yiv4633987936ygrp-mkp .yiv4633987936ad {
padding:0 0;}
#yiv4633987936 #yiv4633987936ygrp-mkp .yiv4633987936ad p {
margin:0;}
#yiv4633987936 #yiv4633987936ygrp-mkp .yiv4633987936ad a {
color:#0000ff;text-decoration:none;}
#yiv4633987936 #yiv4633987936ygrp-sponsor
#yiv4633987936ygrp-lc {
font-family:Arial;}
#yiv4633987936 #yiv4633987936ygrp-sponsor
#yiv4633987936ygrp-lc #yiv4633987936hd {
margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}
#yiv4633987936 #yiv4633987936ygrp-sponsor
#yiv4633987936ygrp-lc .yiv4633987936ad {
margin-bottom:10px;padding:0 0;}
#yiv4633987936 #yiv4633987936actions {
font-family:Verdana;font-size:11px;padding:10px 0;}
#yiv4633987936 #yiv4633987936activity {
background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}
#yiv4633987936 #yiv4633987936activity span {
font-weight:700;}
#yiv4633987936 #yiv4633987936activity span:first-child {
text-transform:uppercase;}
#yiv4633987936 #yiv4633987936activity span a {
color:#5085b6;text-decoration:none;}
#yiv4633987936 #yiv4633987936activity span span {
color:#ff7900;}
#yiv4633987936 #yiv4633987936activity span
.yiv4633987936underline {
text-decoration:underline;}
#yiv4633987936 .yiv4633987936attach {
clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}
#yiv4633987936 .yiv4633987936attach div a {
text-decoration:none;}
#yiv4633987936 .yiv4633987936attach img {
border:none;padding-right:5px;}
#yiv4633987936 .yiv4633987936attach label {
display:block;margin-bottom:5px;}
#yiv4633987936 .yiv4633987936attach label a {
text-decoration:none;}
#yiv4633987936 blockquote {
margin:0 0 0 4px;}
#yiv4633987936 .yiv4633987936bold {
font-family:Arial;font-size:13px;font-weight:700;}
#yiv4633987936 .yiv4633987936bold a {
text-decoration:none;}
#yiv4633987936 dd.yiv4633987936last p a {
font-family:Verdana;font-weight:700;}
#yiv4633987936 dd.yiv4633987936last p span {
margin-right:10px;font-family:Verdana;font-weight:700;}
#yiv4633987936 dd.yiv4633987936last p
span.yiv4633987936yshortcuts {
margin-right:0;}
#yiv4633987936 div.yiv4633987936attach-table div div a {
text-decoration:none;}
#yiv4633987936 div.yiv4633987936attach-table {
width:400px;}
#yiv4633987936 div.yiv4633987936file-title a, #yiv4633987936
div.yiv4633987936file-title a:active, #yiv4633987936
div.yiv4633987936file-title a:hover, #yiv4633987936
div.yiv4633987936file-title a:visited {
text-decoration:none;}
#yiv4633987936 div.yiv4633987936photo-title a,
#yiv4633987936 div.yiv4633987936photo-title a:active,
#yiv4633987936 div.yiv4633987936photo-title a:hover,
#yiv4633987936 div.yiv4633987936photo-title a:visited {
text-decoration:none;}
#yiv4633987936 div#yiv4633987936ygrp-mlmsg
#yiv4633987936ygrp-msg p a span.yiv4633987936yshortcuts {
font-family:Verdana;font-size:10px;font-weight:normal;}
#yiv4633987936 .yiv4633987936green {
color:#628c2a;}
#yiv4633987936 .yiv4633987936MsoNormal {
margin:0 0 0 0;}
#yiv4633987936 o {
font-size:0;}
#yiv4633987936 #yiv4633987936photos div {
float:left;width:72px;}
#yiv4633987936 #yiv4633987936photos div div {
border:1px solid
#666666;min-height:62px;overflow:hidden;width:62px;}
#yiv4633987936 #yiv4633987936photos div label {
color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}
#yiv4633987936 #yiv4633987936reco-category {
font-size:77%;}
#yiv4633987936 #yiv4633987936reco-desc {
font-size:77%;}
#yiv4633987936 .yiv4633987936replbq {
margin:4px;}
#yiv4633987936 #yiv4633987936ygrp-actbar div a:first-child {
margin-right:2px;padding-right:5px;}
#yiv4633987936 #yiv4633987936ygrp-mlmsg {
font-size:13px;font-family:Arial, helvetica, clean,
sans-serif;}
#yiv4633987936 #yiv4633987936ygrp-mlmsg table {
font-size:inherit;font:100%;}
#yiv4633987936 #yiv4633987936ygrp-mlmsg select,
#yiv4633987936 input, #yiv4633987936 textarea {
font:99% Arial, Helvetica, clean, sans-serif;}
#yiv4633987936 #yiv4633987936ygrp-mlmsg pre, #yiv4633987936
code {
font:115% monospace;}
#yiv4633987936 #yiv4633987936ygrp-mlmsg * {
line-height:1.22em;}
#yiv4633987936 #yiv4633987936ygrp-mlmsg #yiv4633987936logo {
padding-bottom:10px;}
#yiv4633987936 #yiv4633987936ygrp-msg p a {
font-family:Verdana;}
#yiv4633987936 #yiv4633987936ygrp-msg
p#yiv4633987936attach-count span {
color:#1E66AE;font-weight:700;}
#yiv4633987936 #yiv4633987936ygrp-reco
#yiv4633987936reco-head {
color:#ff7900;font-weight:700;}
#yiv4633987936 #yiv4633987936ygrp-reco {
margin-bottom:20px;padding:0px;}
#yiv4633987936 #yiv4633987936ygrp-sponsor #yiv4633987936ov
li a {
font-size:130%;text-decoration:none;}
#yiv4633987936 #yiv4633987936ygrp-sponsor #yiv4633987936ov
li {
font-size:77%;list-style-type:square;padding:6px 0;}
#yiv4633987936 #yiv4633987936ygrp-sponsor #yiv4633987936ov
ul {
margin:0;padding:0 0 0 8px;}
#yiv4633987936 #yiv4633987936ygrp-text {
font-family:Georgia;}
#yiv4633987936 #yiv4633987936ygrp-text p {
margin:0 0 1em 0;}
#yiv4633987936 #yiv4633987936ygrp-text tt {
font-size:120%;}
#yiv4633987936 #yiv4633987936ygrp-vital ul li:last-child {
border-right:none !important;
}
#yiv4633987936
From address@hidden Thu Jul 14 16:26:26 2016
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
X-Received: (qmail 4216 invoked by uid 102); 14 Jul 2016 23:26:26 -0000
X-Received: from unknown (HELO mtaq4.grp.bf1.yahoo.com) (10.193.84.143)
by m4.grp.bf1.yahoo.com with SMTP; 14 Jul 2016 23:26:26 -0000
X-Received: (qmail 9001 invoked from network); 14 Jul 2016 23:26:26 -0000
X-Received: from unknown (HELO mta1006.groups.mail.bf1.yahoo.com)
(98.139.245.165)
by mtaq4.grp.bf1.yahoo.com with SMTP; 14 Jul 2016 23:26:26 -0000
X-Original-Return-Path: <address@hidden>
X-Received-SPF: pass (domain of yahoogrupos.com.br designates 66.196.80.187 as
permitted sender)
X-YMailISG: T0XfhhkWLDtSvb0s2ABLHbdWls51B8fbVwOxLi7evSRGeRH4
AknnEXdHE6fMgCe4ha9l71fIABHCnUcQ4UN50bzcyfIMhu_Tuox5R2sYy4lx
wPNWhSjJAu4X08JJhfO_y18pIKjpFs9r9hEaEq1CPpdPdh3IVoJNDdGTUydm
CNaB7uYvxN7SPU6ymmGgt2QKkpg0zuHg7TAtz14S6T7Zm_0TCyqV6relSmoS
6_Ne7RhrSkwwbgTiDX3U6awu6c1kQ7LjdgRZRl9I0odnnH8LmApISd4XvLN6
I_WRJDdS.a6_6igyI9xIgMCtE49PeVNbs6xAErFqSMMRM_j6T3n9Me_rpaeF
llCSXn47O3tf94PcqzCy558yIYANUrMB1jDbMzSo1IWVs.DCFm4nHiSvKPxU
mS1NN9zGmlvCgkb2xQN0LPn1CJtXYcS3ZVrKyrapT3dCv2k22M8oZW.2y9a8
Ix5nZ.mA173N0Hf8i0sNW0HEa_OPLrV9y6m8MzGEcPHXemBHYVyP5chwhhTz
e3eGFJnYTRg8l1hHXlF_tTT50sPnpOdYcL0WqT93fm4GReSO06BJiKAlqdWd
jQnH30McyuIPJw_HoCxRCtH92GLeESix9oBnSFcKssVDhMHZuBF63n1ZR_ky
X.3g3pN2R7bvXBGrVhX6eSslqrZxaSB5P9isMS7V0kiUXoe9pEEdAwa8XGu9
YCZplj2snivK2LDrYHSLESs49SxAtvguvo6bt_YeaTGh5371uMz_OQOiez2O
I907kkTihIZAZQrz9ihBym8GrHNW1z_sfYPoQvjtQRQ5dY3n873zt67EQf72
c0MZ4DnyhMlXc3SQ4XzX1xMEKTD15gDWHpX0xTSnsXaGIinEfpIM6QhMmCQ8
YfNAaDiijhAlGIaT2k_fotaSgVhsidBQZM9Z9B.tBz2l_oDOQfC.K0lnQGLU
qUrp6SX6bvtzBt9Nu.ag.ueQLuIdphk5XYpzjw5OkHCO.PR6IhllMPDE4BEy
SuduvoZnaPX1XiwKFauacr29R_bCcYxtBBL.8SAPOnjcrhiIueq.bzhc9qcH
pGaBD6goCLiBfQaJuwLHgGS1091HOHU8eEV2JYhkwHlGobp8RNo6NPO.dQ8N
dyy1Dn2MGr1Hk.rYmUG5C23H94qDeiP8U7TmX8hFmuouAfUMZcZF5r0ELPym
bXxBysZkk52XhbmrGP_09D.CdT4ThhRNIoy2pQ.y1A4wkfBOFdtYJUJ_xM6l
vImid0KT6MleUOYAbtwcScaqoblVBeLaDUJqXcz76OT50F9DpU9Z8XqOKrLi
OHWGx..Rp_vlJ8ycdEKnsBE3b7uba4GHxlNCa2GK.xgEb3HQt88St7pcTl0B
eURxKW1WLZLZMxf_cw--
Authentication-Results: mta1006.groups.mail.bf1.yahoo.com
from=yahoogrupos.com.br; domainkeys=neutral (no sig); from=yahoogrupos.com.br;
dkim=pass (ok)
X-Received: from 127.0.0.1 (EHLO n13-vm10.bullet.mail.bf1.yahoo.com)
(66.196.80.187)
by mta1006.groups.mail.bf1.yahoo.com with SMTPS; Thu, 14 Jul 2016 23:26:26
+0000
X-Received: from [66.196.81.176] by n13.bullet.mail.bf1.yahoo.com with NNFMP;
14 Jul 2016 23:26:26 -0000
X-Received: from [10.193.75.127] by t6.bullet.mail.bf1.yahoo.com with NNFMP; 14
Jul 2016 23:26:26 -0000
Date: 14 Jul 2016 16:26:26 -0700
X-Received: from [127.0.0.1] by gapi5.grp.bf1.yahoo.com with NNFMP; 14 Jul 2016
23:14:09 -0000
To: <address@hidden>
X-Original-Return-Path: address@hidden
X-Original-From: address@hidden
X-Mailer: Yahoo Groups Message Poster
References: <address@hidden>
<address@hidden>
X-Yahoo-Newman-Property: groups-compose
Message-ID: <address@hidden>
In-Reply-To: <address@hidden>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV"
X-Originating-IP: 177.18.230.9
X-Yahoo-Post-IP: 177.18.230.9
Reply-To: address@hidden
Subject: Re: [shell-script] Contar registros posicionais
X-Yahoo-Group-Post: member; u7886963;
y�iWzwBMaIhjZ1isW04eT8zFB9qOyyiPWkOwjJebBxz1QkFn
X-Yahoo-Profile: itamarnet
From: address@hidden
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
Q2FybyBMZW5kcm8NCg0KUGFyYSBjb25zdGFyLCBlc3NlIHRyZWNobyBxdWUgY2l0ZWkgbm8g
cHJpbWVpcm8gZS1tYWlsIGRldmUgc2VyIGV2aXRhZG8NCiQwICF+IC9eWzA5XXs1fS8NCkUg
anVzdGlmaWNvLCBuZXNzZSBjYXNvIGEgRVIgdmFpIGZpbHRyYXIgbyAwMDAwMCBlIDk5OTk5
LCBtYSB0YW1iw6ltIHBvZGUgZmlsdHJhciAwMDAwOSBvdSA5MDkwMC4NCk1lbGhvciB1c2Fy
IG5vIGx1Z2FyOg0KJDAgIX4gL14oMHw5KXs1fS8gb3UgJDAgIX4gL14oMDAwMDB8OTk5OTkp
Lw0KDQpNYXMgcGFyYSBlc3NlIGNhc28gcXVlIHZjIGNpdG91IHBvZGVtb3MgdHJvY2FyIHBv
ciBlc3NlIGF3azoNCg0KYXdrICcNCiAgL14wezV9LyB7IGR0X21vdj1zdWJzdHIoJDAsMTMs
OCk7IG5tX3Byb2dyYW1hPXN1YnN0cigkMCwyMSw4KSB9DQogICQwICF+IC9eKDB8OSl7NX0v
IHsgbGluaGFbc3Vic3RyKCQwLDEsMykgIjsiIHN1YnN0cigkMCwxMCw0KV0rKyB9DQogIEVO
RCB7IGZvciAoZmluYWwgaW4gbGluaGEpIHByaW50IGZpbmFsICI7IiBsaW5oYVtmaW5hbF0g
IjsiIGR0X21vdiAiOyIgbm1fcHJvZ3JhbWEgfQ0KJw0KDQpFIG5hIHByaW1laXJhIGxpbmhh
IGRvIGPDs2RpZ28sIG5vIGx1Z2FyIGRlOg0KL14wezV9LyB7IGR0X21vdj1zdWJzdHIoJDAs
MTMsOCk7IG5tX3Byb2dyYW1hPXN1YnN0cigkMCwyMSw4KSB9DQoNClNlIG8gSEVBREVSIGZv
ciBzZW1wcmUgbmEgcHJpbWVpcmEgbGluaGEsIHBvZGUgc2VyOg0KTlI9PTEgeyBkdF9tb3Y9
c3Vic3RyKCQwLDEzLDgpOyBubV9wcm9ncmFtYT1zdWJzdHIoJDAsMjEsOCkgfQ0KSXNzbyBz
ZSBob3V2ZXIgYXBlbmFzIHVtIEhFQURFUg0KDQpFIHNlIGhvdXZlciBtYWlzIGRlIHVtIFRS
QUlMTEVSIGUgbsOjbyBhcGVuYXMgbm8gZmluYWwsIG5vIGx1Z2FyIGRlOg0KRU5EIHsgZm9y
IChmaW5hbCBpbiBsaW5oYSkgcHJpbnQgZmluYWwgIjsiIGxpbmhhW2ZpbmFsXSAiOyIgZHRf
bW92ICI7IiBubV9wcm9ncmFtYSB9DQpwb2RlLXNlIHRyb2NhciBwb3I6DQogL145ezV9LyB7
IGZvciAoZmluYWwgaW4gbGluaGEpIHByaW50IGZpbmFsICI7IiBsaW5oYVtmaW5hbF0gIjsi
IGR0X21vdiAiOyIgbm1fcHJvZ3JhbWE7IHNwbGl0KCIiLCBsaW5oYSkgfQ0KDQoNCklzc28g
YWp1ZGE/DQoNCltdJ3MNCkl0YW1hcg=
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
Q2FybyBMZW5kcm88YnI+PGJyPlBhcmEgY29uc3RhciwgZXNzZSB0cmVjaG8gcXVlIGNpdGVp
IG5vIHByaW1laXJvIGUtbWFpbCBkZXZlIHNlciBldml0YWRvPGJyPiQwICF+IC9eWzA5XXs1
fS88YnI+RSBqdXN0aWZpY28sIG5lc3NlIGNhc28gYSBFUiB2YWkgZmlsdHJhciBvIDAwMDAw
IGUgOTk5OTksIG1hIHRhbWLDqW0gcG9kZSBmaWx0cmFyIDAwMDA5IG91IDkwOTAwLjxicj5N
ZWxob3IgdXNhciBubyBsdWdhcjo8YnI+JDAgIX4gL14oMHw5KXs1fS8gb3UgJDAgIX4gL14o
MDAwMDB8OTk5OTkpLzxicj48YnI+TWFzIHBhcmEgZXNzZSBjYXNvIHF1ZSB2YyBjaXRvdSBw
b2RlbW9zIHRyb2NhciBwb3IgZXNzZSBhd2s6PGJyPjxicj5hd2sgJiMzOTs8YnI+Jm5ic3A7
IC9eMHs1fS8geyBkdF9tb3Y9c3Vic3RyKCQwLDEzLDgpOyBubV9wcm9ncmFtYT1zdWJzdHIo
JDAsMjEsOCkgfTxicj4mbmJzcDsgJDAgIX4gL14oMHw5KXs1fS8geyBsaW5oYVtzdWJzdHIo
JDAsMSwzKSAmcXVvdDs7JnF1b3Q7IHN1YnN0cigkMCwxMCw0KV0rKyB9PGJyPiZuYnNwOyBF
TkQgeyBmb3IgKGZpbmFsIGluIGxpbmhhKSBwcmludCBmaW5hbCAmcXVvdDs7JnF1b3Q7IGxp
bmhhW2ZpbmFsXSAmcXVvdDs7JnF1b3Q7IGR0X21vdiAmcXVvdDs7JnF1b3Q7IG5tX3Byb2dy
YW1hIH08YnI+JiMzOTs8YnI+PGJyPkUgbmEgcHJpbWVpcmEgbGluaGEgZG8gY8OzZGlnbywg
bm8gbHVnYXIgZGU6PGJyPi9eMHs1fS8geyBkdF9tb3Y9c3Vic3RyKCQwLDEzLDgpOyBubV9w
cm9ncmFtYT1zdWJzdHIoJDAsMjEsOCkgfTxicj48YnI+U2UgbyBIRUFERVIgZm9yIHNlbXBy
ZSBuYSBwcmltZWlyYSBsaW5oYSwgcG9kZSBzZXI6PGJyPk5SPT0xIHsgZHRfbW92PXN1YnN0
cigkMCwxMyw4KTsgbm1fcHJvZ3JhbWE9c3Vic3RyKCQwLDIxLDgpIH08YnI+SXNzbyBzZSBo
b3V2ZXIgYXBlbmFzIHVtIEhFQURFUjxicj48YnI+RSBzZSBob3V2ZXIgbWFpcyBkZSB1bSBU
UkFJTExFUiBlIG7Do28gYXBlbmFzIG5vIGZpbmFsLCBubyBsdWdhciBkZTo8YnI+RU5EIHsg
Zm9yIChmaW5hbCBpbiBsaW5oYSkgcHJpbnQgZmluYWwgJnF1b3Q7OyZxdW90OyBsaW5oYVtm
aW5hbF0gJnF1b3Q7OyZxdW90OyBkdF9tb3YgJnF1b3Q7OyZxdW90OyBubV9wcm9ncmFtYSB9
PGJyPnBvZGUtc2UgdHJvY2FyIHBvcjo8YnI+IC9eOXs1fS8geyBmb3IgKGZpbmFsIGluIGxp
bmhhKSBwcmludCBmaW5hbCAmcXVvdDs7JnF1b3Q7IGxpbmhhW2ZpbmFsXSAmcXVvdDs7JnF1
b3Q7IGR0X21vdiAmcXVvdDs7JnF1b3Q7IG5tX3Byb2dyYW1hOyBzcGxpdCgmcXVvdDsmcXVv
dDssIGxpbmhhKSB9PGJyPjxicj48YnI+SXNzbyBhanVkYT88YnI+PGJyPltdJiMzOTtzPGJy
Pkl0YW1hcg=
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV--