Como encontrar todos os arquivos em um Mac com um nome de arquivo que é ilegal no Windows?

1

Estou procurando um script ou software que possa verificar todos os arquivos em um Mac e denunciar caracteres restritos / proibidos. \ /: *? "< > |, com o qual o Windows não pode funcionar.

Alguma idéia?

    
por Feri 02.04.2016 / 14:09

1 resposta

2

Para encontrar nomes de arquivos com caracteres problemáticos, você pode usar find:

$ find / -regex ".*[<>/:*?|].*" -print

Coloque todos os caracteres que você deseja procurar nos colchetes. Observe que alguns caracteres devem ter escape, pois têm um significado especial (por exemplo, 0-9 encontrará todos os dígitos, não 0, e 9). Basicamente, o que você especifica nas aspas duplas é uma expressão regular cujos nomes de arquivo devem caber para serem impressos.

Você pode criar um arquivo contendo a lista de todos os arquivos da seguinte forma:

$ find / -regex ".*[<>/:*?|].*" -print > problematic-files.txt

Se você usa -name em vez de -regex , então você pode especificar um padrão básico de shell (onde * representa qualquer número de caracteres,? para um e [...] de uma escolha de caracteres). Isso é menos flexível, mas provavelmente é suficiente para seus objetivos:

$ find / -name "*[<>/:*?|]*" -print > problematic-files.txt

(Não tenho certeza se o Mac OS tem a mesma funcionalidade de localização que o GNU encontra, o que estou usando. Use "man find" para obter o manual e descobrir como usar expressões regulares ou padrões de shell com ele ).

    
por 02.04.2016 / 14:23