Filtrar compo expecifico. [RESOLVIDO]

1. Filtrar compo expecifico. [RESOLVIDO]

thiago
lacerdat25

(usa Red Hat)

Enviado em 19/04/2021 - 15:45h

Olá amigos, tudo bem?

Estou tentando criar um modo que eu possa coletar os dados do arquivo MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416. Pra fazer isso eu preciso fazer uma pesquisa para filtrar se o arquivo existe. O ponto que estou com problema é que esse arquivo possui um sequencial e preciso ignorar o mesmo..

Segue ex abaixo:
MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416
MOVIMENTACAO_LOGS_ID0033_*_DATA20210416


  


2. Re: Filtrar compo expecifico. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/04/2021 - 17:29h


lacerdat25 escreveu:

Olá amigos, tudo bem?

Estou tentando criar um modo que eu possa coletar os dados do arquivo
MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416.
Pra fazer isso eu preciso fazer uma pesquisa para filtrar se o arquivo existe.
O ponto que estou com problema é que esse arquivo possui um sequencial e preciso ignorar o mesmo..

Segue ex abaixo:
MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416
MOVIMENTACAO_LOGS_ID0033_*_DATA20210416


Lacerda, vamos ver se entendi.
você quer o arquivo:
MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416
Só que existe uma variação no campo NSA.*
Esse NSA segue uma sequência numérica?
O arquivo desejado é o mais recente?

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________




3. Filtrar compo expecifico.

thiago
lacerdat25

(usa Red Hat)

Enviado em 19/04/2021 - 17:41h


Olá!!

Isso, o campo NSA000914 eu quero ignorar, quero baixar o arquivo MOVIMENTACAO_LOGS_ID0033_*_DATA20210416 ignorando o NSA.

Como eu vou criar um script, se eu colocar como padrão, vai chumbar o valor do sequencial, nesse caso vai dar erro no job.


4. Re: Filtrar compo expecifico.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/04/2021 - 17:54h

lacerdat25 escreveu:


Olá!!

Isso, o campo NSA000914 eu quero ignorar, quero baixar o arquivo MOVIMENTACAO_LOGS_ID0033_*_DATA20210416 ignorando o NSA.

Como eu vou criar um script, se eu colocar como padrão, vai chumbar o valor do sequencial, nesse caso vai dar erro no job.

Para fazer essa busca, deve usar o find com "REGEX"
Exemplo genérico:
find /diretorio/ -regextype posix-extended -regex 'regex' 


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




5. Filtrar compo expecifico.

thiago
lacerdat25

(usa Red Hat)

Enviado em 20/04/2021 - 12:56h

msoliver,


Essa parto do regex que eu ainda não entendi como se faz!

Poderia me dar uma luz?

Obrigado!


6. Re: Filtrar compo expecifico.

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/04/2021 - 13:46h

Vou me arriscar a responder essa, apesar que já existe um Gênio aqui, msoliver, disposto a te ajudar.

 echo MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416 | sed -En 's/(.*)NSA[^_]*(.*)/\1*\2/ p' 


Fica:
~ % <<< MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416 sed -En 's/(.*)NSA[^_]*(.*)/\1*\2/ p'
MOVIMENTACAO_LOGS_ID0033_*_DATA20210416


A opção -n do sed é para não imprimir nada a não ser que seja especificado, no caso, ao final da RE tem um p para imprimir.
Já a opção -E é para ativar ERE (extended regex) ao invés do BRE (basic regex).
No ERE, os parênteses tem um significado de grupamento, enquanto no BRE ele não significa nada..
Então a gente separa dois grupos, um antes e um depois de NSA.
No caso, os colchetes informam uma lista de caracteres, e o ^ dentro dos colchetes é uma negação, tipo qualquer caráter que não seja _

Agora não entendi se tu quer que no lugar do NSA coloca um asterisco?


7. Re: Filtrar compo expecifico.

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 20/04/2021 - 15:22h

só isso não serve não ?!?!?!/

ls | grep "MOVIMENTACAO_LOGS_ID0033" | grep -v "NSA" 


mauricio@phantom ~/Desktop/teste $ ls -l
total 0
-rw-r--r-- 1 mauricio mauricio 0 abr 20 15:17 MOVIMENTACAO_LOGS_ID0033_000914_DATA20210416
-rw-r--r-- 1 mauricio mauricio 0 abr 20 15:17 MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA2
-rw-r--r-- 1 mauricio mauricio 0 abr 20 15:17 MOVIMENTACAO_LOGS_ID0033_NSA000914_DATA20210416
mauricio@phantom ~/Desktop/teste $ ls | grep "MOVIMENTACAO_LOGS_ID0033" | grep -v "NSA"
MOVIMENTACAO_LOGS_ID0033_000914_DATA20210416
mauricio@phantom ~/Desktop/teste $


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




8. Re: Filtrar compo expecifico. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/04/2021 - 16:54h


lacerdat25 escreveu:

msoliver,


Essa parto do regex que eu ainda não entendi como se faz!

Poderia me dar uma luz?

Obrigado!

Lacerda,veja se é isso.
Arquivo desejado:
MOVIMENTACAO_LOGS_ID0033_*_DATA20210416
Considerando que o ASTERISCO é UM ASTERICO MESMO!
Se for isso, é simples:
Exemplo:
ls -l Documentos/
total 4
-rw-r--r-- 1 adminq adminq 2 abr 20 16:32 'MOVIMENTACAO_LOGS_ID0033_*_DATA20210416.txt'
-rw-r--r-- 1 adminq adminq 0 abr 20 16:36 MOVIMENTACAO_LOGS_ID0033_NSA000900_DATA20210416.txt
De: NSA000901 a NSA000920
.........

find Documentos -iname "MOVIMENTACAO_LOGS_ID0033_\**"
Documentos/MOVIMENTACAO_LOGS_ID0033_*_DATA20210416.txt

É só escapar o asterisco
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando:
lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.



9. Filtrar compo expecifico.

thiago
lacerdat25

(usa Red Hat)

Enviado em 21/04/2021 - 12:00h

Valeu galera!!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts