[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Renomear arquivos com SED



Olá Junior!....obrigado cara!....funfou!!!
Abraço!

Junior Polegato - Linux escreveu:
Flávio R. Lopes escreveu:
Boa tarde galera!
Seguinte:
Tenho vários diretórios onde são gerados alguns arquivos, onde o padrão deles é que terminam com a extensão ".txt", por exemplo:
banana.txt
ventilador.txt
regua.txt
arquivocomnomegrande.txt
e por aí vai.
gostaria na verdade de alguma rotina com o SED (que agisse de forma recurssiva nos diretorios que eu indicar) que somente tirasse as extensões deles, sem alterar seu conteudo, ou seja:
banana.txt ficaria banana
ventilador.txt ficaria ventilador
regua.txt ficaria regua
arquivocomnomegrande.txt ficaria arquivocomnomegrande
em resumo, seria a mesma coisa que eu fizesse manualmente o seguinte:
mv banana.txt banana
mv ventilador.txt ventilador
mv regua.txt regua
mv arquivocomnomegrande.txt arquivocomnomegrande
Como posso fazer isso?
abraço,
Flávio
Olá,

Puramente com sed não vai dar, pois tem que criar uma lista dos arquivos, duplicar o nome base, etc... Assim sendo, aconselho uma linha com find + mv + dirname + basename (não testei, então testa antes):

find $DIRETORIO -type f -name "*.txt" -exec bash -c 'mv -v "{}" "`dirname "{}"`/`basename "{}" .txt`"' \;


      onde $DIRETORIO é o diretório onde encontram-se os arquivos.

[]'s
          Junior Polegato





Reply to: