|
|
En esta página http://forumubuntusoftware.info/viewtopic.php?f=7&t=1995 hay un script para la shell bash que extrae de un powerpoint las fotos/imágenes que tiene. Porque a veces nos mandan presentaciones de preciosos paisajes o tías buenas que merece la pena conservar.Para el que tenga instalado en gnome el menú contextual para ejecutar scripts sobre un archivo, lo tiene especialmente fácil. Según dice el foro, conociendo las cabeceras de otros tipos de archivo, este mismo script puede ser adaptado para usarlo con otros archivos que contengan fotos, como podrían ser los pdf. Aunque en linux también tenemos un programa (si norecuerdo mal), que extrae las fotos de un pdf.
#!/bin/bash
# Rip image files from PPS files
# By Eldad Zack
for fn in "[email protected]"
do
echo Ripping ${fn} ...
declare -a pos
posindex=0
poslist=$(hexdump -v -e '1/1 "%02x"' "${fn}" |
sed 's/.ffd8ffe00010/\nMARKERMARKER/g' |
grep -abo MARKERMARKER |
cut -f1 -d':');
for x in $poslist
do
((posindex++))
((y=x/2))
pos[$posindex]=${y}
done
pos[$((posindex+1))]=$(stat -c '%s' "${fn}")
for ((x=1; x<$posindex; x++))
do
echo " pos $x ${pos[$x]} to ${pos[$((x+1))]}"
#count=$((${pos[$((x+1))]}-${pos[$x]}))
count=$((${pos[$posindex]}-${pos[$x]}))
fnum=$(printf "%04g" $x);
dd if="${fn}" ibs=1 skip=${pos[$x]} count=$count 2>/dev/null | convert - "${fn}.$fnum.jpg"
if [[ $(stat -c %s "${fn}.$fnum.jpg") == 0 ]];
then
echo "[size zero] rm ${fn}.$fnum.jpg"
rm ${fn}.$fnum.jpg
fi
done
echo " + $(ls "${fn}"*jpg | wc -l | sed 's/ \+//g') files ripped."
#ffd8ffe000104a464946 JFIF
done
Categories: Informática, Mi Ubuntu Linux personalizado, Linux/Darwin
The words you entered did not match the given text. Please try again.
Oops!
Oops, you forgot something.