Linux en Espanol
 
(SOLUCIONADO)Formato texto script bash zenity barra de progr (tema #24368)
Publicar nuevo tema  Responder al tema    Foros de discusión -> Programación
Autor Mensaje
blackman
Forista
Registrado: 2011-10-04
Mensajes: 12

Publicado: 2012-04-09 11:24:01    Asunto: (SOLUCIONADO)Formato texto script bash zenity barra de progr

Buenas

Gracias a todos los que quieran ayudarme.
Estoy liado con un proyecto que ten?a pendiente y es el siguiente:
Crear una barra de progreso en zenity y adaptarla a un script del que ya dispongo.
El tema es que ya he conseguido crear la barra de progreso pero la informaci?n que me da quiero aparezca m?s elegante (colores, negritas, font ...)

La parte del script que quiero adaptar es la siguiente:

cat <<EOF
$PCT
#Archivos a Descomprimir: $FILES_ARRAY \n\
N? de Archivos a Descomprimir: $NUMBER_FILES_ARRAY\n\
N? de Archivo actual: $index \n\
Archivo Actual: $f \n\
N? Total de Archivos: $nrar \n\
Descomprimiendo Archivo n?: $i \n\
Descomprimiendo: $file
EOF

Paso lo que tengo actualmente del script por si sirve de ayuda:

#!/bin/bash
# Script para descomprimir usando dialog

# Permite los nombres de ficheros tipo windows
IFS=

# Recorre los archivos pasados como parametros (FILES) y los incluye en un
# array llamado PARAMETERS
for FILES in $@
do
PARAMETERS=(${PARAMETERS[@]} $FILES)
done

# Muestra un progress bar con las siguientes opciones:
# --no-shadow = Sin sombra - Esto es porque se ve mal en ttys y xterm
# --colors = colores - Colorear los textos
# 25 80 - height width - Para ttys y xterm
#dialog --no-shadow --colors --title "Descomprimir" --backtitle "Descomprimiendo Archivos" --gauge "Descomprimiendo Archivos" "25" "80"< <(
zenity --progress --text="" --height=200 --width=600 --no-cancel< <(
# VARIABLES AL INICIO
# Obtiene el nombre de los archivos pasados como parametros y
# guardados en el array
FILES_ARRAY=${PARAMETERS[@]}
# Obtiene el n? de archivos en el array
NUMBER_FILES_ARRAY=${#PARAMETERS[*]};
# Contador usado en la variable PERCENTAGE. Se inicializa a 0
i=0
# Obtiene el n? de fichero que est? siendo descomprimido
# Se inicializa a 0
let index=0

# Start Loop para obtener datos necesarios recorriendo el array
for f in ${PARAMETERS[@]}
do
# Se obtiene el n? de fichero a descomprimir
let index=$index+1
# Se obtiene el n? total de archivos empaquetados en los archivos
# comprimidos. Se usa unrar del archivo pasado como par?metro y
# teniendo en cuenta todos los vol?menes en caso de tenerlos.
# Se ordenan con sort y se borran los duplicados con -u. Por
# ?ltimo se obtiene el n? de archivos empaquetados
nrar=`unrar vb -v $f | sort -u | wc -l`
# Se obtiene el n? total de archivos empaquetados en caso de haber m?s
# de un archivo pasado como par?metro
ntotal=$(( nrar+ntotal ))

# Se usa unrar del archivo pasado como par?metro y
# teniendo en cuenta todos los vol?menes en caso de tenerlos.
# Se ordenan con sort y se borran los duplicados con -u.
# Se recorre uno a uno los archivos y se realizan todos los comandos
# de abajo
unrar vb -v $f | sort -u | while read file
do
# Variable que obtiene el porcentage a usar por la barra de progreso
# F?rmula = 100 * (i +1) / n? total de archivos empaquetados
PCT=$(( 100*(++i)/nrar ))

# Se muestran los datos de progreso en pantalla
cat <<EOF
$PCT
#Archivos a Descomprimir: $FILES_ARRAY \n\
N? de Archivos a Descomprimir: $NUMBER_FILES_ARRAY\n\
N? de Archivo actual: $index \n\
Archivo Actual: $f \n\
N? Total de Archivos: $nrar \n\
Descomprimiendo Archivo n?: $i \n\
Descomprimiendo: $file
EOF

# Sin salir del loop se descomprimen los archivos
# Se opta por descomprimir los archivos uno a uno teniendo en cuenta
# el nombre del archivo a descomprimir $f y el nombre del archivo
# empaquetado $file
unrar x -y $f $file /home/jones/prueba &>/dev/null

# Fin loop for
done
# Fin loop while
done

# Se muestra el estado finalizado del proceso
cat <<EOF
XXX
\Z1Proceso Finalizado.
\n\Z4Resumen:
\n\Z1Archivos Descomprimidos:\Z4$NUMBER_FILES_ARRAY\n
\Z4$FILES_ARRAY
\Z1N? Total de Archivos Descomprimidos: \Z4$ntotal\n\n\n\n\n
Presionar \Z1[Enter] \Z4para finalizar
XXX
EOF
)
AnimAlf
Forista


Registrado: 2008-08-18
Mensajes: 786

Publicado: 2012-04-12 22:59:16    Asunto: Re: Formato texto script bash zenity barra de progreso

M?rate: [url=http://developer.gnome.org/pango/stable/PangoMarkupFormat.html][color=blue:a33a57b344]Pango Text Attribute Markup Language[/color:a33a57b344][/url]

[code:1:a33a57b344]zenity --info --title "Linux en Espa?ol" --text "Vemos texto en <span foreground=\"blue\" size=\"x-large\">azulado y grande</span>, tambi?n en <i>cursiva</i> y normal ;-) "[/code:1:a33a57b344]

[i:a33a57b344]Salud[/i:a33a57b344][b:a33a57b344]OS[/b:a33a57b344]
Anonymous
Forista
Registrado: 2003-10-21
Mensajes: 11749

Publicado: 2012-05-21 08:51:10    Asunto:

oftware de gesti?n de la escuela tiene un acceso instant?neo a la asistencia del estudiante, las tareas, libreta de calificaciones y boletas de calificaciones. Se mantiene a los padres al d?a con sus hijos. Software de gesti?n de la escuela proporciona facilidad de uso, la accesibilidad y la integraci?n.

[url=http://softaula.net/]software gestion de escuelas[/url]





La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries