Como faço para remover todas as aspas simples em todos os arquivos recursivamente usando 'renomear'?

3

O título diz tudo e sim, eu sei que há muitas perguntas semelhantes, mas o mais próximo que eu pude encontrar foi remover "e não". O que eu tentei até agora é:

find -name "*'*" -type f | rename 's/\'//g'

ou rename 's/[']//g' e algumas outras variações. Eu localizo todos os arquivos, mas quando estou canalizando para rename , estou recebendo apenas > para prompt e tenho que Ctrl + C retornar . Eu recentemente mudei muitos arquivos com isso, e ele funcionou como um charme em qualquer caractere especial, exceto nas aspas simples.

    
por Thomas 23.03.2017 / 08:12

1 resposta

7

Você pode usar aspas duplas:

rename -n "s/'//g"

remova -n após o teste para renomear os arquivos para real

Use -exec embora ...

find -name "*'*" -type f -exec rename -n "s/'//g" '{}' \;

Se a lista não for muito longa, torne-a mais rápida ...

find -name "*'*" -type f -exec rename -n "s/'//g" '{}' +
    
por Zanna 23.03.2017 / 08:15