Copiar trecho de um arquivo [RESOLVIDO]

13. Re: Copiar trecho de um arquivo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/12/2018 - 00:28h

msoliver escreveu:

Boa noite.
O comando abaixo, fornece a linha inicial, linha com o valor e a ultima linha de cada cupom.
egrep -n '^(MERCADO)|^(VALOR TOTAL R\$ .*)$|^(OPR:.*)$' cupom.txt|sed -r 's/^[0-9]+:OPR:.*$/&\n/g' 

<b>2</b>:MERCADO X #Linha inicial - 1
21:VALOR TOTAL R$ 39,12
53:OPR:NomeDaOperadora 26/12/2018 17:40:00 #linha final

55:MERCADO X
74:VALOR TOTAL R$ 49,12
106:OPR:NomeDaOperadora 26/12/2018 17:45:00


Escolha qual cupom quer e depois use o sed.
Exemplo:
sed -n '1,53p' cupom.txt

Marcelo Oliver


Show!



  


14. Re: Copiar trecho de um arquivo [RESOLVIDO]

Rafael Killmann
rkillmann

(usa Red Hat)

Enviado em 28/12/2018 - 12:33h

amarildosertorio escreveu:

Fiz uma gambira aqui:

#!/bin/bash

echo "Digite o valor do cupom (Ex: 12,34)"
read VAL

ARQ1="exemplocupom"
ARQ2="/tmp/filter.txt"
LIN1=$(grep -n "VALOR TOTAL.*$VAL" $ARQ1 | cut -d ":" -f1)
LIN2=$(grep -n "MERCADO X" $ARQ1 | cut -d ":" -f1 > $ARQ2)

for i in $(cat $ARQ2); do
if [ $LIN1 -gt $i ]; then
echo $i > $ARQ2
fi
done

SUB=$(($LIN1 - $(cat $ARQ2)))

grep -A32 -B$SUB "VALOR TOTAL.*$VAL" $ARQ1 > exemplocupom2



Muito obrigado, funcionou perfeitamente!


15. Re: Copiar trecho de um arquivo [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/12/2018 - 15:36h


Somente para registrar....
Opção com o awk:
read -p " Informe o Valor do Cupom: " VALOR
sed 's/^OPR:.*/&\n/' cupom.txt |awk 'BEGIN{FS="\n";RS="\n\n"} /'$VALOR'/ {print $0}'

cat cupom.txt
-----------------------------------------------
MERCADO X
NOME DA RUA, 1234
BAIRRO - CIDADE - RS - 00000000
CNPJ:12.345.678/9123-45 IE: 1234567890
-----------------------------------------------
26/12/2018 17:40:00 TRANSACAO: 12345
-----------------------------------------------
DANFE NFC-e Documento Auxiliar
da Nota Fiscal Eletronica para Consumidor Final
Nao Permite aproveitamento de credito de ICMS
-----------------------------------------------
Item Cod Descricao Qtde Un VlrUnit VlrTot
-----------------------------------------------
87654321 PRODUTO NUMERO 1 1X500ML
24 UND X 0,75 18,00
12345678 PRODUTO NUMERO 2 1X500ML
24 UND X 0,88 21,12
-----------------------------------------------
QTD. TOTAL DE ITENS 48
VALOR TOTAL R$ 39,12
FORMA DE PAGAMENTO Valor Pago
Cartão de Débito 39,12
-----------------------------------------------
Informacao dos Tributos Totais e Incidentes
(Lei Federal 12.741/2012)
Vlr.Aprox.Tributos: Federal R$0,49 (1,23%)
Vlr.Aprox.Tributos: Estadual R$0,49 (1,23%)
Fonte: IBPT.
-----------------------------------------------
AREA DE MENSAGEM FISCAL
Numero: 000123456 Serie: 123
Emissao: 26/12/2018 17:40:00
Consulte a Chave de Acesso em https://www.sefaz
rs.gov.br/NFCE/NFCE-COM.aspx
CHAVE DE ACESSO
12345678901234567890123456789012345678901234
-----------------------------------------------
CONSUMIDOR NAO IDENTIFICADO
-----------------------------------------------
https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?
p=12345678901234567890123456789012345678901234|
2|1|1|1234567890123456789012345678901234567890
-----------------------------------------------
MAESTROCP REDE
123456******7890 A:123456
DEBITO A VISTA VALOR:39,12
123456789012345 DOC:123456 (SiTef)
-----------------------------------------------
NomeSistema - AT.13.c00 - Unisys Brasil Ltda.
-----------------------------------------------
ModPDV VERSAO:12.34 PDV:123 LJ:132
OPR:NomeDaOperadora 26/12/2018 17:40:00
-----------------------------------------------
MERCADO X
NOME DA RUA, 1234
BAIRRO - CIDADE - RS - 00000000
CNPJ:12.345.678/9123-45 IE: 1234567890
-----------------------------------------------
26/12/2018 17:40:00 TRANSACAO: 12345
-----------------------------------------------
DANFE NFC-e Documento Auxiliar
da Nota Fiscal Eletronica para Consumidor Final
Nao Permite aproveitamento de credito de ICMS
-----------------------------------------------
Item Cod Descricao Qtde Un VlrUnit VlrTot
-----------------------------------------------
87654321 PRODUTO NUMERO 1 1X500ML
24 UND X 0,75 18,00
12345678 PRODUTO NUMERO 2 1X500ML
24 UND X 0,88 21,12
12345679 PRODUTO NUMERO 3 1X5000kg
01 UND X 10,00 10,00
-----------------------------------------------
QTD. TOTAL DE ITENS 49
VALOR TOTAL R$ 49,12
FORMA DE PAGAMENTO Valor Pago
Cartão de Débito 49,12
-----------------------------------------------
Informacao dos Tributos Totais e Incidentes
(Lei Federal 12.741/2012)
Vlr.Aprox.Tributos: Federal R$0,49 (1,23%)
Vlr.Aprox.Tributos: Estadual R$0,49 (1,23%)
Fonte: IBPT.
-----------------------------------------------
AREA DE MENSAGEM FISCAL
Numero: 000123456 Serie: 123
Emissao: 26/12/2018 17:40:00
Consulte a Chave de Acesso em https://www.sefaz
rs.gov.br/NFCE/NFCE-COM.aspx
CHAVE DE ACESSO
12345678901234567890123456789012345678901234
-----------------------------------------------
CONSUMIDOR NAO IDENTIFICADO
-----------------------------------------------
https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?
p=12345678901234567890123456789012345678901234|
2|1|1|1234567890123456789012345678901234567890
-----------------------------------------------
MAESTROCP REDE
123456******7890 A:123456
DEBITO A VISTA VALOR:49,12
123456789012345 DOC:123456 (SiTef)
-----------------------------------------------
NomeSistema - AT.13.c00 - Unisys Brasil Ltda.
-----------------------------------------------
ModPDV VERSAO:12.34 PDV:123 LJ:132
OPR:NomeDaOperadora 26/12/2018 17:40:00
-----------------------------------------------
MERCADO X
NOME DA RUA, 1234
BAIRRO - CIDADE - RS - 00000000
CNPJ:12.345.678/9123-45 IE: 1234567890
-----------------------------------------------
26/12/2018 17:40:00 TRANSACAO: 12345
-----------------------------------------------
DANFE NFC-e Documento Auxiliar
da Nota Fiscal Eletronica para Consumidor Final
Nao Permite aproveitamento de credito de ICMS
-----------------------------------------------
Item Cod Descricao Qtde Un VlrUnit VlrTot
-----------------------------------------------
87654321 PRODUTO NUMERO 1 1X500ML
24 UND X 0,75 18,00
12345678 PRODUTO NUMERO 2 1X500ML
24 UND X 0,88 21,12
12345679 PRODUTO NUMERO 3 1X5000kg
02 UND X 10,00 20,00
-----------------------------------------------
QTD. TOTAL DE ITENS 48
VALOR TOTAL R$ 59,12
FORMA DE PAGAMENTO Valor Pago
Cartão de Débito 59,12
-----------------------------------------------
Informacao dos Tributos Totais e Incidentes
(Lei Federal 12.741/2012)
Vlr.Aprox.Tributos: Federal R$0,49 (1,23%)
Vlr.Aprox.Tributos: Estadual R$0,49 (1,23%)
Fonte: IBPT.
-----------------------------------------------
AREA DE MENSAGEM FISCAL
Numero: 000123456 Serie: 123
Emissao: 26/12/2018 17:40:00
Consulte a Chave de Acesso em https://www.sefaz
rs.gov.br/NFCE/NFCE-COM.aspx
CHAVE DE ACESSO
12345678901234567890123456789012345678901234
-----------------------------------------------
CONSUMIDOR NAO IDENTIFICADO
-----------------------------------------------
https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?
p=12345678901234567890123456789012345678901234|
2|1|1|1234567890123456789012345678901234567890
-----------------------------------------------
MAESTROCP REDE
123456******7890 A:123456
DEBITO A VISTA VALOR:59,12
123456789012345 DOC:123456 (SiTef)
-----------------------------------------------
NomeSistema - AT.13.c00 - Unisys Brasil Ltda.
-----------------------------------------------
ModPDV VERSAO:12.34 PDV:123 LJ:132
OPR:NomeDaOperadora 26/12/2018 17:40:00
-----------------------------------------------
MERCADO X
NOME DA RUA, 1234
BAIRRO - CIDADE - RS - 00000000
CNPJ:12.345.678/9123-45 IE: 1234567890
-----------------------------------------------
26/12/2018 17:40:00 TRANSACAO: 12345
-----------------------------------------------
DANFE NFC-e Documento Auxiliar
da Nota Fiscal Eletronica para Consumidor Final
Nao Permite aproveitamento de credito de ICMS
-----------------------------------------------
Item Cod Descricao Qtde Un VlrUnit VlrTot
-----------------------------------------------
87654321 PRODUTO NUMERO 1 1X500ML
24 UND X 0,75 18,00
12345678 PRODUTO NUMERO 2 1X500ML
24 UND X 0,88 21,12
12345679 PRODUTO NUMERO 3 1X5000kg
03 UND X 10,00 30,00
-----------------------------------------------
QTD. TOTAL DE ITENS 48
VALOR TOTAL R$ 69,12
FORMA DE PAGAMENTO Valor Pago
Cartão de Débito 69,12
-----------------------------------------------
Informacao dos Tributos Totais e Incidentes
(Lei Federal 12.741/2012)
Vlr.Aprox.Tributos: Federal R$0,49 (1,23%)
Vlr.Aprox.Tributos: Estadual R$0,49 (1,23%)
Fonte: IBPT.
-----------------------------------------------
AREA DE MENSAGEM FISCAL
Numero: 000123456 Serie: 123
Emissao: 26/12/2018 17:40:00
Consulte a Chave de Acesso em https://www.sefaz
rs.gov.br/NFCE/NFCE-COM.aspx
CHAVE DE ACESSO
12345678901234567890123456789012345678901234
-----------------------------------------------
CONSUMIDOR NAO IDENTIFICADO
-----------------------------------------------
https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?
p=12345678901234567890123456789012345678901234|
2|1|1|1234567890123456789012345678901234567890
-----------------------------------------------
MAESTROCP REDE
123456******7890 A:123456
DEBITO A VISTA VALOR:69,12
123456789012345 DOC:123456 (SiTef)
-----------------------------------------------
NomeSistema - AT.13.c00 - Unisys Brasil Ltda.
-----------------------------------------------
ModPDV VERSAO:12.34 PDV:123 LJ:132
OPR:NomeDaOperadora 26/12/2018 17:40:00


16. Re: Copiar trecho de um arquivo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/01/2019 - 19:34h


msoliver escreveu:


Somente para registrar....
Opção com o awk:
read -p " Informe o Valor do Cupom: " VALOR
sed 's/^OPR:.*/&\n/' cupom.txt |awk 'BEGIN{FS="\n";RS="\n\n"} /'$VALOR'/ {print $0}'



Massa Marcelo!

Com certeza é a melhor resposta.





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts