Como renomear arquivos e diretório com o sufixo *. ~ 1 ~ para o nome original?

1

Eu tenho um diretório chamado underscore.~1~ e vários arquivos dentro com nomes como main.js.~1~ , index.js.~1~ etc.

Como posso renomear o diretório underscore e os arquivos dentro dos nomes originais main.js , index.js etc.

    
por sepdau 15.10.2013 / 05:35

3 respostas

2

A maneira mais fácil de fazer isso (no bash) seria mudar para o diretório e fazer algo como:

for i in *.~1~; do mv $i ${i%.~1~}; done

O acima irá iterar todos os arquivos *.~1 e movê-los para o equivalente sem a extensão (especificada pelo ${i%.~1~} target). Procure as substituições textuais da sua concha.

Você pode fazer algo semelhante para diretórios, mas se você tiver apenas um diretório lá, é mais simples fazê-lo manualmente

mv underscore.~1~ underscore
    
por 16.10.2013 / 17:28
1

Em um terminal, você não pode simplesmente mover a pasta & arquivos usando o comando mv ?

Exemplo

$ find adir_.~1~/ -ls
10757186    4 drwxrwxr-x   2 saml     saml         4096 Oct 14 23:54 adir_.~1~/
10370964    0 -rw-rw-r--   1 saml     saml            0 Oct 14 23:50 adir_.~1~/afile_.~1~

Agora mova o arquivo dir +:

$ mv adir_.~1~/ adir
$ mv adir/afile_.~1~ adir/afile

E confirme:

$ find adir/ -ls
10757186    4 drwxrwxr-x   2 saml     saml         4096 Oct 15 00:01 adir/
10370964    0 -rw-rw-r--   1 saml     saml            0 Oct 14 23:50 adir/afile
    
por 15.10.2013 / 06:22
1

Se você quiser renomear todos os arquivos e o diretório de uma só vez, use o título rename comando, que pelo menos nas distribuições Linux baseadas no Debian está incluído no pacote perl :

rename 's/\.~1~$//' */*.~1~ underscore.~1~

O primeiro argumento para rename é uma Perl Regular Expression, que descreve a substituição a ser feita. Argumentos subseqüentes são nomes de arquivo para operar. Observe que, para gerenciar apenas uma única chamada, o diretório é especificado por último para evitar que o caminho para os arquivos dentro da alteração seja alterado após a expansão do caminho do argumento.

    
por 15.10.2013 / 07:08

Tags