Se quiser apenas adicionar uma extensao use o comando 'echo' supondo que tenho 50 fotos com nome niver mas sem extencao for F in niver*;do mv `echo $F` `echo $F.jpg`;done simples assim Renomear varios arquivos de uma vez: for i in *;do mv "$i" `echo $i|sed 'y/PB/pb/;s/\ //g;s/$/.mp4/g'`;done veja esta lista de arquivos ls Afonso -play Black camada -play Black Augusto -play Black grupo logos -play Black quero tirar os espacos, trocar as Maiusculas por minusculas e adiciomar a estencao .mp4 (pois sao videos) isto eu realizo com uma linha de comandos for i in *;do echo $i.mp4|sed 's/\ //g;s/P/p/g;s/B/b/'g;done o resultado foi este: Afonso-playblack.mp4 Augusto-playblack.mp4 camada-playblack.mp4 grupologos-playblack.mp4 porem isto e apenas uma amostragem pois usei o comando echo para ver se funcionava, agora para renomear de verdade: for i in *;do mv "$i" `echo $i.mp4|sed 's/\ //g;s/P/p/g;s/B/b/g'`;done for i in *;do mv "$i" `echo $i|sed 'y/PB/pb/;s/\ //g;s/$/.mp4/g'`;done (os dois comandos fazem a mesma coisa) ls Afonso-playblack.mp4 camada-playblack.mp4 Augusto-playblack.mp4 grupologos-playblack.mp4 Explicando os comandos: for i in * = joga o nome dos arquivos na variavel $i ; agrupa comandos na mesma linha do = executa comando mv = renomeia arquivos "$i" contem o nome do arquivo (use aspas pois tem espacos) `(apostrofo) usei para interpretar os comandos corretamente echo = troca i$ pelo nome do arquivo (e adiciona a extencao .mp4) |(pipe) joga a saida do echo no sed sed formata o nome para a saida do comando mv 'y/PB/pb/' = troca as ocorrencias de P e B por p e b ; agrupa comandos dentro do sed 's/\ //g' = retira os espacos dos nomes 's/$/.mp4/g' = coloca .mp4 no final dos nomes g(global) = em todas as ocorrencias (no y nao precisa do g)