buscar por palavras

1. buscar por palavras

thiago
lacerdat25

(usa Red Hat)

Enviado em 30/03/2022 - 23:05h

Olá amigos!
Preciso de help para realizar uma busca. Tenho um pasta com mais de 5 mil arquivos, cada um com seu respectivo nome que é número de matricula da pessoa. Após uma busca vi que alguns arquivos tem o nome da pessoa e não o número da matricula. Preciso saber como faço para realizar a busca somente pelo nome e excluir esses arquivos?

Vou criar um script que vai ler essa pasta realizar alguns filtros, um deles e deletar os arquivos com nome.

EX:
887639
Maria Eleonor
87645
2345
34567

obrigado


  


2. Re: buscar por palavras

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 31/03/2022 - 01:50h

Use o find com regex, buscando por: letra maiúscula, minúscula e espaço
Em qquer quantidade, e o exec rm {}


______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



3. BUSCAR POR PALAVRAS

thiago
lacerdat25

(usa Red Hat)

Enviado em 31/03/2022 - 11:52h

Muito obrigado MSOLIVER!

Agora como eu faço para separar arquivos que o nome é o nome da pessoa mas a extensão é png,JPG,jpeg? Na realidade so é para ter a matricula, o que tiver o nome e para deletar.

find /mnt/PAST/ -mindepth 1 -type f | grep '[^PNG]'

Tenho que coletar a leticia e o thiago para excluir.

LETICIA.PNG
Thiago.jpg
89178913.jpg
89178915.JPEG
89178914.jpg

Eu não manjo muito de regex estou estudando isso.

Valeu!


4. Re: buscar por palavras

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 31/03/2022 - 19:59h


lacerdat25 escreveu:

Muito obrigado MSOLIVER!

Agora como eu faço para separar arquivos que o nome é o nome da pessoa mas a extensão é png,JPG,jpeg?
Na realidade so é para ter a matricula, o que tiver o nome e para deletar.

find /mnt/PAST/ -mindepth 1 -type f | grep '[^PNG]'

Tenho que coletar a leticia e o thiago para excluir.

LETICIA.PNG
Thiago.jpg
89178913.jpg
89178915.JPEG
89178914.jpg

Eu não manjo muito de regex estou estudando isso.

Valeu!

Lacerda, veja a sintaxe do find para usar regex.
A regex para esse caso, é simples:
Exemplo com o grep.
Casa Números:
echo 'LETICIA.PNG
Thiago João.jpg
89178913.jpg
89178915.JPEG
89178914.jpg'|grep -E '^[0-9]+\.[[:alpha:]]*$'


Use essa regex com o find, não é necessário pipe grep.



______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________




  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts