Renomear todos e preservar a extensão [RESOLVIDO]

1. Renomear todos e preservar a extensão [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 14:42h

pessoas .. tendo uma pasta com arquivos de várias extensões, como eu renomearia todas sequencialmente preservando a extensão delas ??

arquivos 
jfhy.txt
6544.htm
o4sdki.doc


desejado
001.txt
002.htm
003.doc



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/12/2016 - 16:16h

Mauriciodez escreveu:

pessoas .. tendo uma pasta com arquivos de várias extensões, como eu renomearia todas sequencialmente preservando a extensão delas ??

arquivos 
jfhy.txt
6544.htm
o4sdki.doc


desejado
001.txt
002.htm
003.doc


Vamos lá Mauricio . . .
"Rode" esse para testar:
n="";for arq in $(ls -1);do let n++; N=$(printf "%03d" $((10#$n)) );rename -n 's/([[:alnum:]]+)/'$N'/' $arq;done 

Para ALTERAR, rode este:
n="";for arq in $(ls -1);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done 


Se não tiver NOME de ARQUIVO acentuado, funciona . . .

Marcelo Oliver


3. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 16:34h

msoliver escreveu:
Vamos lá Mauricio . . .
"Rode" esse para testar:
n="";for arq in $(ls -1);do let n++; N=$(printf "%03d" $((10#$n)) );rename -n 's/([[:alnum:]]+)/'$N'/' $arq;done 

Para ALTERAR, rode este:
n="";for arq in $(ls -1);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done 


Se não tiver NOME de ARQUIVO acentuado, funciona . . .


aonde eu coloco o nome do diretório ???

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


4. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/12/2016 - 16:38h

Mauriciodez escreveu:

msoliver escreveu:
Vamos lá Mauricio . . .
"Rode" esse para testar:
n="";for arq in $(ls -1);do let n++; N=$(printf "%03d" $((10#$n)) );rename -n 's/([[:alnum:]]+)/'$N'/' $arq;done 

Para ALTERAR, rode este:
n="";for arq in $(ls -1);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done 


Se não tiver NOME de ARQUIVO acentuado, funciona . . .


aonde eu coloco o nome do diretório ???

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Não é necessário o NOME do DIR, execute o comando DENTRO do DIR onde quer alterar o nome dos arquivos.
Mas . . .
n="";for arq in $(ls -1 NOMEDODIRETORIO/);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done



5. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 16:59h

msoliver escreveu:
Mas . . .
n="";for arq in $(ls -1 NOMEDODIRETORIO/);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done


deu ruim ... exercutando o anterior dentro do diretório funciona ... esse como o nome do DIR não !!!

mauricio@phantom:~$ n="";for arq in $(ls -1 ./mauricio/);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done
Can't rename 56474979.txt 001.txt: Arquivo ou diretório não encontrado
Can't rename akwefli.txt 002.txt: Arquivo ou diretório não encontrado
Can't rename arje.txt 003.txt: Arquivo ou diretório não encontrado
Can't rename gfnr555.doc 004.doc: Arquivo ou diretório não encontrado
Can't rename vblabl.html 005.html: Arquivo ou diretório não encontrado
mauricio@phantom:~$




___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


6. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/12/2016 - 17:09h

Mauriciodez escreveu:

msoliver escreveu:
Mas . . .
n="";for arq in $(ls -1 NOMEDODIRETORIO/);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done


deu ruim ... exercutando o anterior dentro do diretório funciona ... esse como o nome do DIR não !!!

mauricio@phantom:~$ n="";for arq in $(ls -1 ./mauricio/);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done
Can't rename 56474979.txt 001.txt: Arquivo ou diretório não encontrado
Can't rename akwefli.txt 002.txt: Arquivo ou diretório não encontrado
Can't rename arje.txt 003.txt: Arquivo ou diretório não encontrado
Can't rename gfnr555.doc 004.doc: Arquivo ou diretório não encontrado
Can't rename vblabl.html 005.html: Arquivo ou diretório não encontrado
mauricio@phantom:~$




___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Mauricio.
Se COLOCOU o NOME DO DIR, EXECUTE os comandos, FORA DO DIR!!!!




7. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 17:19h

msoliver escreveu:
Mauricio.
Se COLOCOU o NOME DO DIR, EXECUTE os comandos, FORA DO DIR!!!!


então nego ... aquele primeiro q vc postou eu executo dentro do diretorio e funciona
esse q coloco o nome executei fora do diretório e retornou erro
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


8. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/12/2016 - 18:46h

Mauriciodez escreveu:

msoliver escreveu:
Mauricio.
Se COLOCOU o NOME DO DIR, EXECUTE os comandos, FORA DO DIR!!!!


então nego ... aquele primeiro q vc postou eu executo dentro do diretorio e funciona
esse q coloco o nome executei fora do diretório e retornou erro
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Mauricio, a solução é muito simples . . .
Use o que funcionou . . . . Rsrsrsrsrs
Estranhamente, testei aqui e funcionou, com o nome do DIR, executando fora do DIR.
O básico desse comando é o "ls -1"
Algum "errinho" no caminho . . . Bem provável que seja a "/"
Exemplo:
Estou no /home.
ls -1 /marcelo/Downloads/
ls: não é possível acessar /marcelo/Downloads/: Arquivo ou diretório não encontrado

Executando:
ls -1 marcelo/Downloads/
Funciona . . .
A barra antes do marcelo, é o erro . . .
A "/" indica o CAMINHO a partir da RAIZ . . .

mso


9. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 19:54h

msoliver escreveu:
Mauricio, a solução é muito simples . . .
Use o que funcionou . . . . Rsrsrsrsrs
mso


não rola de usar no diretório ... esse diretório é criado a partir de um script e esse comando fara parte deste script

.......
vc não está entendendo o BO !!!
mauricio@phantom:~$ ls -1 ./mauricio
56474979.txt
akwefli.txt
arje.txt
gfnr555.doc
vblabl.html
mauricio@phantom:~$


mauricio@phantom:~$ n="";for arq in $(ls -1 ./mauricio);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done
Can't rename 56474979.txt 001.txt: Arquivo ou diretório não encontrado
Can't rename akwefli.txt 002.txt: Arquivo ou diretório não encontrado
Can't rename arje.txt 003.txt: Arquivo ou diretório não encontrado
Can't rename gfnr555.doc 004.doc: Arquivo ou diretório não encontrado
Can't rename vblabl.html 005.html: Arquivo ou diretório não encontrado
mauricio@phantom:~$


___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


10. Re: Renomear todos e preservar a extensão [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 20:36h

consegui resolver a parada aqui

tire o 1 do comando e a barra

n="";for arq in $(ls mauricio);do let n++; N=$(printf "%03d" $((10#$n)) );rename 's/([[:alnum:]]+)/'$N'/' $arq;done 

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts