thinomar
(usa Linux Mint)
Enviado em 04/11/2015 - 14:03h
Nem cheguei a testar, mas vê se dá certo e adapta as suas necessidades. Só faz backup dos arquivos que vão ser manipulados para não perde-los no caso de dar errado.
Você precisa jogar o nome dos arquivos originais na lista1.txt e o nome novo dos arquivos em lista2.txt, mas não quiser trabalhar com arquivos, dá pra adaptar pra array.
#!/bin/bash
# By: Thiago Martins
# lista1.txt precisa ter a mesma qntd de linhas que lista2.txt
LISTA1=/caminho/da/lista1.txt
LISTA2=/caminho/da/lista2.txt
# Verificando numero de linhas dos arquivos
if [ `awk 'END {print NR}' $LISTA1` -ne `awk 'END {print NR}' $LISTA2` ]
then
echo "Os arquivos precisam ter a mesma quantidade de linhas!"
exit
fi
### PARA DIRETORIOS EM ARQUIVO ###
DIRETORIOS=/caminho/do/diretorios.txt
for dir in `cat $DIRETORIOS`
do
# Concatena linhas das listas em foreach
for arq in `paste -d ',' $LISTA1 $LISTA2`
do
# Verifica se e o diretorio do SVG ou PNG
if [ $dir -eq "/usr/share/icons/Faenza/apps/scalable" ]
then
ln -s $dir/`awk -F',' '{print $1}'`.svg $dir/`awk -F',' '{print $2}'`.svg
else
ln -s $dir/`awk -F',' '{print $1}'`.png $dir/`awk -F',' '{print $2}'`.png
fi
done
done
### PARA DIRETORIOS EM ARRAY ###
#DIRETORIOS=("/usr/share/icons/Faenza/apps/16" \
#"/usr/share/icons/Faenza/apps/22" \
#"/usr/share/icons/Faenza/apps/24" \
#"/usr/share/icons/Faenza/apps/32" \
#"/usr/share/icons/Faenza/apps/48" \
#"/usr/share/icons/Faenza/apps/64" \
#"/usr/share/icons/Faenza/apps/96")
#
#for dir in ${DIRETORIOS[@]}
#do
# # Concatena linhas das listas em foreach
# for arq in `paste -d ',' $LISTA1 $LISTA2`
# do
# # Verifica se e o diretorio do SVG ou PNG
# if [ $dir -eq "/usr/share/icons/Faenza/apps/scalable" ]
# then
# ln -s $dir/`awk -F',' '{print $1}'`.svg $dir/`awk -F',' '{print $2}'`.svg
# else
# ln -s $dir/`awk -F',' '{print $1}'`.png $dir/`awk -F',' '{print $2}'`.png
# fi
# done
#done
--
-I've been talking to the main computer
-And...?
-It hates me