Editado.- Nueva versión.
Ver al final de la página o click acá.
'Undebear' masivamente
'Undebear' masivamente
Last edited by GustavoYz on Tue 31 May 2011, 05:08, edited 4 times in total.
¿Probaste añadiendo comillas?
Code: Select all
for i in *.deb ; do undeb "$i" ; done
[url=http://www.puppylinux.com][img]http://i.imgur.com/M4OyHe1.gif[/img][/url]
Undebo
Hice una nueva versión, todo en un sólo script.
Ahora también funciona desde la consola además de hacerlo como siempre, vía doble click, donde toma los debs de la carpeta desde la que se ejecutó.
Lo apodé 'Undebo'.
Subí el script acá.
Ahora también funciona desde la consola además de hacerlo como siempre, vía doble click, donde toma los debs de la carpeta desde la que se ejecutó.
Lo apodé 'Undebo'.
Code: Select all
#!/bin/bash
#Argumento 1 es el path.
[ $1 ] && DIRECTORIO="$1" && CLI="0"
#Si no existe, tomo el path actual.
[ ! $1 ] && DIRECTORIO=`pwd` && CLI="1"
if [ ! -d $DIRECTORIO ];then
echo $DIRECTORIO no encontrado.
echo
echo Verifique la ruta e intente de nuevo.
echo Error y Final no feliz... Buuuh!
echo " =("
#Por si el directorio NO existe.
exit 1
fi
#---------------------------------------------------------------------
#Aviso
echo "Voy a undebear aca
$DIRECTORIO"
cd $DIRECTORIO
#Variables generales
NN="1"
UNICO=`date | awk '{print $2 "_" $3 "_" $4 "_" $6}'`
LISTA=`ls -X | sed 's/\t/ /g' | grep --extended-regexp '\.deb$'`
if [ -n "$LISTA" ];then
mkdir -p $DIRECTORIO/paquetes_$UNICO
DIRECTORIO2=$DIRECTORIO/paquetes_$UNICO
for i in $LISTA
do
cp `realpath $i` $DIRECTORIO2/$NN.deb
let "NN = $NN + 1" # 1, 2, 3, 4, 5...
done
cd $DIRECTORIO2
NEOLISTA=`ls -X | sed 's/\t/ /g' | grep --extended-regexp '\.deb$'`
for i in $NEOLISTA
do
dpkg-deb -X $i $DIRECTORIO2
rm $i
done
cd $DIRECTORIO2
#A modo de backup y log.
echo `echo $LISTA | sed 's/ /\n/g'| grep -n "deb"| sed 's/:/.deb-->/g'`| sed 's/ /\n/g' > $DIRECTORIO/$UNICO.txt
#Los greetings... Sientanse libres de borrarlos.
echo "Exitos!"
beep -f 65 -l 100 -n -f 131 -l 100 -n -f 261 -l 100 -n -f 523 -l 100 -n -f 1046 -l 100 -n -f 2093 -l 100
gxmessage -title "Undebebo" -center -bg black -fg green "He terminado de undebear, todo salio bien...
En $DIRECTORIO va a encontrar una carpeta llamada paquetes
y un archivo llamado $UNICO.txt con lo que hice.
Salud!"
#Si todo sale bien...
exit 0
else
if [ "$CLI" -eq 0 ]; then
echo Error? No hay debs aca...
echo Fin.
echo " =("
else
gxmessage -title "Undebo" -center -bg black -fg green "Error?
No hay debs aca...
Fin.
=("
fi
exit 1
fi