alexandregms
(usa Ubuntu)
Enviado em 14/12/2009 - 21:24h
Galera, o problema é o seguinte..
Tenho várias pastas com vários arquivos nomeados com espaços e caracteres, ex: file (1).txt, file (2).txt, etc.
Preciso retirar o espaço e os caracteres dos arquivos (neste caso os parenteses), para ficar assim: file_1.txt, file_2.txt, file_n.txt.
Bom, fiz e refiz vários scripts, mas até agora não tive sucesso.
O problema é que quando o "for" entra em ação ele não lista os meus arquivos corretamente, mas sim quebrados..até desconfiei que não posso usar o awk para este fim. Olhem o script:
#/bin/bash
j=0
for i in $(ls -l | awk '{print $9" "$10" "$11}')
do
mv $i file_$j.txt
echo "Renomeando $i para file_$j.txt"
j=`expr $j + 1`
done
A sintaxe do script está correta, o problema é a saída do "for" que exibe apenas o nome "quebrado" dos arquivos.
Obs: o awk $9 $10 $11 é para capturar o nome completo do arquivo, pois alguns contém mais que um espaço e caracter.
Valeu!!