Renomeando vários arquivos adicionando uma string ao início

16

Para cerca de 200 arquivos em um diretório, gostaria de adicionar a String 1_ ao início de todos os nomes de arquivos.

Os nomes dos arquivos são, por exemplo, DATASET_X_Y_Z e o resultado deve ser 1_DATASET_X_Y_Z .

Eu não sei nada sobre scripts do Shell, mas talvez haja um forro para o terminal.

    
por macydanim 08.06.2011 / 09:26

3 respostas

35
  • rename 's/^/1_/' * para renomear todos os arquivos no diretório atual

ou

  • rename 's/^/1_/' DATASET* para renomear todos os arquivos no diretório atual, começando com DATASET em seu nome

Explicação: a expressão s/^/1_/ diz: "substitua o início do nome do arquivo (isso significa que este símbolo - > ^ ) 'com 1_ ".

    
por dAnjou 08.06.2011 / 11:59
11

Você pode renomear facilmente todos os arquivos na digitação do diretório atual (supondo que esteja usando o bash):

for i in *; do mv "$i" 1_"$i"; done

obviamente, tome com cuidado; ele irá remanescar TODOS os arquivos no diretório atual que estão "visíveis" (nome do arquivo não começando com '.')

    
por karlacio 08.06.2011 / 09:40
9

Você pode usar o pyRenamer . Pode ser encontrado no centro de software do Ubuntu. O padrão de arquivo original deve ser {X} e o padrão de arquivo renomeado deve ser 1_ {1}

    
por nickguletskii 08.06.2011 / 09:37