Enviado em 15/02/2008 - 17:37h
Estou tentando criar um script que substitua o underscore no nome de um arquivo por um espaço em branco, usando o SED. Criei o script só por curiosidade, pois pouco sei sobre isso, mas fiquei curioso de saber o que vai mal nele:
ct=1
for i in *
do
echo $i | sed "s:\_: :g" >> lista.txt
name=`sed -n "${ct} p; ${ct} q" lista.txt`
mv $i $name
((ct++))
done
rm lista.txt
exit 0
Com esse código, não consigo renomear os arquivos, embora em lista.txt eles estejam impressos da maneira que eu gostaria que ficassem. Se eu substituo o mv $i $name por echo $name, eles saem perfeitamente. O que há de errado?
ct=1
for i in *
do
echo $i | sed "s:\_: :g" >> lista.txt
name=`sed -n "${ct} p; ${ct} q" lista.txt`
mv $i $name
((ct++))
done
rm lista.txt
exit 0
Com esse código, não consigo renomear os arquivos, embora em lista.txt eles estejam impressos da maneira que eu gostaria que ficassem. Se eu substituo o mv $i $name por echo $name, eles saem perfeitamente. O que há de errado?