Você pode criar um serviço do Automator para fazer isso em todos os aplicativos que suportam serviços (que são quase todos eles).
Abra o Automator e selecione para criar um Serviço que receba texto selecionado em qualquer aplicativo e verifique A saída substitui o texto selecionado .
Adicione uma única ação Executar script shell da biblioteca e cole o seguinte código de script:
sed 's|[^a-zA-Z0-9]||g'
Esse script específico, uma simples substituição sed
, removerá todos os caracteres não alfanuméricos do nome do arquivo. Ele usa a-zA-Z0-9
como lista branca de caracteres permitidos, adicione a ele conforme desejado.
Você também pode realizar outras ações e agrupá-las. Por exemplo, tr [A-Z] [a-z]
diminuirá tudo e sed 's|[^a-zA-Z0-9]||g' | tr [A-Z] [a-z]
combinará os dois.
Salvar como por exemplo Sanitize Filename e, opcionalmente, atribuir um atalho de teclado em Preferências do Sistema »Teclado» Atalhos de Teclado »Serviços . Você deve ser capaz de chamar serviços usando o Quicksilver também, apenas digite o nome deles.
Sempre que você estiver em um Salvar como ... ou caixa de diálogo semelhante, selecione o nome do arquivo sugerido (ele é selecionado por padrão):
InvoqueoserviçoMenudoPrograma»Serviços»SanitizeFilename(ouuseoatalhodetecladoquevocêchamou).Eleiráenviaronomedoarquivoatravésdoscripteusarsuasaídaparasubstituiraseleção.
Para criação de título e remoção de caracteres ruins (também mantenho sublinhado, ponto e hífen em), o seguinte código de script parece funcionar principalmente para mim:
perl -ane 'foreach $wrd(@F){print ucfirst($wrd)." ";}' | sed 's|[^a-zA-Z0-9_.-]||g'