Eu tenho vários arquivos nomeados como o that : screenshot 13:25.png
Windows, para tentar abrir esses arquivos provavelmente por causa do ":".
Como posso substituí-lo?
command-line
user236152
fonte
fonte
Respostas:
Em um terminal,
cd
no diretório certo e execute-o.Isso visualizará a renomeação. Deve substituir
:
por-
.Se isso parecer correto, remova o
n
do final e ele fará a renomeação real.Nota : As versões do Ubuntu acima do 17.04 não são fornecidas
rename
, mas ainda estão disponíveis nos repositórios padrão, então use-assudo apt install rename
para obtê-lasfonte
n
) facilmente.rename 's/\:/-/g; s/%28/ /g; s/%29//g' ...
Aqui está uma solução pura do bash:
O
${var//pattern/replacement}
formato irá substituir todas as ocorrênciaspattern
comreplacement
na variável$var
. Para obter mais informações sobre os recursos de manipulação de string do bash, consulte aqui .Se você quiser fazer isso para vários caracteres, basta colocá-los em uma classe de caracteres. Assim, por exemplo, para substituir todos
;
,:
,=
,+
,%
,,
com sublinhados, você poderia fazer:Basicamente, a ideia é que isso
[ ]
significaany of the characters listed
. Portanto, colocando todos os caracteres que você deseja substituir na classe de personagens, todos eles são tratados de uma só vez.Para os caracteres específicos que você solicitou, as coisas são um pouco mais complexas, porque algumas precisam ser escapadas (estou ignorando o fato de o
/
* nix não permitir isso em nomes de arquivos mais do que o Windows, para que não seja um problema. questão):Note que eu escapei o
\
,'
e"
adicionando um\
na frente de cada um.fonte
Se você preferir uma GUI, instale o pyrenamer:
Em seguida, execute-o:
Possui dezenas de opções para padrões e formatos de renomeação.
fonte
Eu prefiro a GUI, mas como uma extensão do Nautilus, ou seja, ações extras do Nautilus :
(Consulte www.webupd8.org/2011/12/nautilus-actions-extra-pack-of-useful.html )
Em seguida, quando você seleciona arquivos a serem renomeados e clica em Renomear no menu de contexto, são oferecidas muitas opções para renomear arquivos.
fonte
O
renameutils
pacote possui um programa útil chamadoqmv
que fornece renomeação em lote interativa. Você o executa em um diretório ou lista de arquivos, e ele gera um arquivo de texto temporário contendo os nomes dos arquivos e inicia o seu editor favorito. Quando você sai do editor, todos os nomes de arquivos alterados são renomeados de acordo.qmv
transforma um problema de renomeação em lote em um problema de edição de texto.Nesse caso, você pode usar
qmv -f do *:*
para editar os nomes de todos os arquivos que contêm dois pontos e, em seguida, o:%s/:/_/g
comando no Vim (ou uma pesquisa e substituição correspondente em qualquer editor que você use).A
-f do
opção define o formato do arquivo de texto para ter apenas o nome do arquivo de destino, o que simplifica a pesquisa e substituição. O formato padrão possui duas cópias do nome do arquivo em cada linha e você edita apenas a segunda. Isso permite que você faça a coisa certa se você excluiu ou reordenou as linhas no arquivo, mas nem sempre é o mais fácil. Existem outros formatos também.Com
qmv
, você pode optar por canalizar o arquivo gerado através de um comando de sua escolha, comosed
, se não desejar o recurso interativo.fonte
E aqui está um script do Nautilus que substitui (todos?) Caracteres incompatíveis com o Windows por um hífen em todos os nomes de arquivos selecionados (com base na resposta de terdon ;-)
fonte
O Thunar (o gerenciador de arquivos XFCE) possui um bom recurso para renomear arquivos em massa. Possui opções para remover / substituir caracteres, pesquisar e substituir, numerar arquivos e muito mais.
Instale o thunar:
Abra o thunar, navegue até seus arquivos, selecione-os e escolha 'renomear' (via menu de contexto ou F2)
fonte
fonte