Renomear arquivos a partir de uma lista. [RESOLVIDO]

1. Re: Renomear arquivos a partir de uma lista. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/05/2016 - 01:35h

#Marcossales escreveu:

Na verdade a lista tem três colunas, com um formato csv, padrão, então selecionei a coluna, ai então os nomes:
Segue um trecho do código:

sed -n '2,$p' presentes.csv | cut -f2 -d',' | tr " " "_" | tr [:upper:] [:lower:] > /tmp/lista_$$

lista="/tmp/lista_$$"

NF=$(sed -n '2,$p' $lista | wc -l )
# Como ${#str_var} retorna o número de caracteres de var, entao
SZ=${#NF} #retornando a quantidade de linhas
contador=1
for i in *.txt
do
nome=$(sed -ne ""$contador"p" /tmp/lista_$$)
#echo "$nome"
# mv "$i" "$nome" #empaquei
contador=$( expr $contador + 1 )
done
Quebrei a cabeça mais um pouco e funcionou, não muito bem enxuto, mas funcionou.
Se puderem sugerir melhorias. ;)


Boa noite, Marcossales.
Sugestão:
Gere um txt com a listagem dos 70 arquivos.
ls -1 >> 70Arquivos.txt
"Pegue" a quantidade de registros na "lista"
NReg=$(awk 'END {print NR}' lista.txt)
Faça:
for ((x=1;x<=NReg;x++));do
NOMENV=$(awk -F"," 'NR == '$x' {print $2}' lista.txt) #PEGA O CAMPO 02
NOMEAT=$(sed -n "$x"p 70Arquivos.txt)
rename 's/'$NOMEAT'/'$NOMENV'.txt/' *.txt
done

É isso

att.:
marcelo

----------------------------------------------------------------------
Editado.
Para ter a certeza que "VAI PEGAR" o ARQUIVO correto, mesmo que a listagem em 70Arquivos.txt não esta na ordem.
Altere:
NOMEAT=$(sed -n "$x"p 70Arquivos.txt)
Para
NOMEAT=$(egrep '^([[:alpha:]]+'$x'.txt)$' 70Arquivos.txt)


  


2. Re: Renomear arquivos a partir de uma lista. [RESOLVIDO]

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 27/05/2016 - 21:23h

Dá uma pesquisada nos comandos tr e sed. Caso ainda tenha dúvidas, poste o código do que já fez e vamos te ajudar.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts