Como filtrar um regex (excluir caracteres especiais)

1

Digamos que preciso filtrar todos os nomes dos meus arquivos que não incluam caracteres especiais.

ASDA123fasf - would pass
asasdasd*dasd - wouldn't pass
    
por Anthino Russo 19.05.2018 / 20:33

1 resposta

0

Uma das muitas alternativas seria find . -maxdepth 1 -iregex '.*/[a-z0-9.]*' -ls

Se você acha que pode precisar usar isso com frequência, pode até criar um alias para encurtar o comando:

Nota: O alias abaixo só funcionará no diretório atual, embora você possa criar facilmente um script que analise um argumento de linha de comando para o diretório.

alias myls="find . -maxdepth 1 -iregex '.*/[a-z0-9.]*' -ls"

Se você fizesse isso, toda vez que você emitisse o comando myls , você obteria a saída desejada sem toda a digitação extra. Preguiçoso ou eficiente, você decide.

Fontes: Byte Commander comente aqui

link - especificamente esta resposta

man find

    
por Elder Geek 19.05.2018 / 21:30