Eu tenho um número de arquivos com aspas duplas no nome do arquivo como este:
"This_is_a_long_filename_with_quotes" .mp3
Eu tento usar a renomeação do comando linux, eu posso apagar facilmente o sublinhado usando
rename 's/_//g' *
mas quando tento com o \ "nada acontece (eu uso -n para ver as mudanças):
rename -n 's/\"//g' *
nada é renomeado
obrigado!
linux
ubuntu
batch-rename
Leosar
fonte
fonte
ls | grep \"
não retorna nada. Que talecho *\"*
ouls *\"*
? Se nenhum desses comandos mostrar nada, você não terá arquivos com aspas duplas em seus nomes; você tem arquivos com pares de aspas simples em seus nomes. Tentels | grep \'
,echo *\'*
ouls *\'*
. Se esses comandos encontrarem seus arquivos, renomeie-os comrename -n "s/'//g" *
.rename
operações enquanto corta e cola os caracteres de cotação exatos (abrir e fechar).Respostas:
Você tem "aspas inteligentes" nos seus nomes de arquivo:
Experimente o
rename
comando com os inseridos em vez de"
Ou sem usar
rename
você pode fazer ased
opção:Como acontece com todas as operações de shell de lote
mv
, é mais seguro testar / executar em um backup da pasta original ... Você pode testar colocandoecho
no lugar demv
quando tenta pela primeira vez.fonte
Não há necessidade de escapar da citação dupla dentro do guote único.
fonte
dpkg -S ...
no arquivo final para encontrar o pacote que fornece o executável. 2) Usedpkg -l package_name
para encontrar a versão do pacote -> no meu sistema comrename-0.20-3
o comando acima relatado reescreveu que você queria. 3) Qual shell você usa?echo $SHELL
Eu consegui fazer isso no Bash com isso:
fonte
ls | grep \"
não retorna nada