Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Encontrar nomes de arquivo feios com find

O find comando suporta um teste baseado em uma expressão regular. Há uma consideração importante a ter em mente ao usar expressões regulares em find contra grep. Enquanto que grep irá imprimir uma linha quando a linha contém uma string que corresponde a uma expressão, find requer que o nome do caminho coincidir exatamente a expressão regular. No exemplo a seguir, vamos usar find com uma expressão regular para encontrar cada nome de caminho que contenha qualquer caractere que não seja membro do seguinte conjunto:

[-_./0-9a-zA-Z]

Tal varredura revelaria nomes de caminhos que contêm espaços incorporados e outros caracteres potencialmente ofensivos:


[me @ linuxbox ~] $ achar . -regex '. * [^ -_. / 0-9a-zA-Z]. *'

[me @ linuxbox ~] $ achar . -regex '. * [^ -_. / 0-9a-zA-Z]. *'


Devido à necessidade de uma correspondência exata de todo o nome do caminho, usamos .* em ambas as extremidades da expressão para corresponder a zero ou mais instâncias de qualquer caractere. No meio da expressão, usamos uma expressão de colchetes negado contendo nosso conjunto de caracteres de nome de caminho aceitáveis.


Top OS Cloud Computing na OnWorks: