Existem muitas maneiras, a minha própria escolha seria um loop 'for':
for f in *.wav ; do mv "$f" "A$f" ; done
Isso é simples e facilmente modificado para outras necessidades ...
Eu tenho várias pastas e cada uma tem cerca de 175 arquivos nela. nomes de arquivos são como
1.wav
2.wav
3.wav
......
175.wav
Eu tenho que renomeá-los como
A1.wav
A2.wav
A3.wav
......
A175.wav
Em outras palavras, tenho que anexar Cartas nos nomes de arquivos anteriores.
Eu estou querendo saber se existe uma maneira fácil de fazer isso.
Versão do Ubuntu é 16.10
Existem muitas maneiras, a minha própria escolha seria um loop 'for':
for f in *.wav ; do mv "$f" "A$f" ; done
Isso é simples e facilmente modificado para outras necessidades ...
Comando User prename
:
$ prename -nv 's/^(.*)$/A/' *.wav
1.wav renamed as A1.wav
2.wav renamed as A2.wav
3.wav renamed as A3.wav
A maneira como isso é simples:
*.wav
permite que o shell expanda o curinga para a lista de todos os arquivos que terminam com .wav
. Quando o shell executa o comando completo, o computador verá prename -nv 's/^(.*)$/A/' 1.wav 2.wav 3.wav
e assim por diante como o comando real. 's/^(.*)$/A/'
é, na verdade, s/PATTERN/REPLACEMENT
regular com o agrupamento (.*)
, o que nos permite agrupar todo o nome do arquivo desde o início ^
até o final $
e se referir a ele como
. Observe que as opções -nv
são para -v
e% -c%% de execução seca. Se você estiver satisfeito com a execução do teste, remova -n
para aplicar renomeação real.
Usando rename
:
rename 's/([0-9]+).wav/A.wav/' *.wav
s/SEARCH-FOR/REPLACE-WITH/ within-this-files
([0-9]+)
detém a seção numérica, então podemos usá-la novamente usando
. A.wav
: A
+ (seção numérica) + .wav