Mamedu
varios

01 de Enero, 1970

Cambiando el contenido de la variable IFS podemos conseguir que el cat <archivo> nos devuelva una linea entera sin tener en cuenta los espacios.

ejemplo:

DIFS="$IFS" # separador fin de linea para que salga linea por linea
IFS=$'\n'
for x in $(cat $PROYECTO | grep -v ^# )
do
can=$(echo $x | awk -v FS="/" '{print $(NF)}')
echo "($conta) $can"
CANCIONES["$conta"]="$can"
let conta=$conta+1
done
IFS="$DIFS"

otro ejemplo:

elegirArchivo()
{
## Nos permite elejir un archivo, recibe como
## argumento el directorio de inicio.
titulo "ELEGIR ARCHIVO"
OPCION="$1"
echo -e "->$cc $OPCION $fc"
eval $imp_linea
while [ -d "$OPCION" ]
do
DOPCION="$OPCION"
DIFS="$IFS" ; IFS=$'\n' # Separador fin de linea
select OPCION in 'Salir' 'Atras' 'Todo el directorio' ${OPCION}/*
do
IFS="$DIFS" # restauramos separador
if [ "$OPCION" = "Atras" ] ; then OPCION=$1 ; fi
if [ "$OPCION" = "Todo el directorio" ] ; then
FILE="$DOPCION"
anadir_directorio $FILE
break
fi
echo -e "->$cc $OPCION $fc"
eval $imp_linea
break
done
done
FILE="$OPCION"

}

Otra forma de hacerlo mas elegante

La solución más sencilla es simplemente cambiar el "for" por un "while" ya que el "while" le asignará a la variable toda la cadena independientemente de que tenga espacios o no, quedaría como sigue:

ls *ogg | while read i ; do
lo_que_sea $i
done

y otra mas:

for i in *; do echo "$i"; done

Sin utilizar ls directamente con el comodín salen los archivos bien.

Ejemplos de if resumido

ejemplo:

acertijo () {
(( " $# == 0 " )) && echo dame un nmr \< 10 && return 0;
[[ ${1:0:1} == ${RANDOM:0:1} ]] && echo ok || echo fallaste
}

Patrones con variables

ejemplo:

set -- /bin/* ; inicio=10 ; final=1 ; echo ${@:inicio:final}

debuelve un rango de valores, empieza en el 10 y le uno solo.

colrm

Elimina las columnas de la 1 a la 20

ejemplo:

ls -l | colrm 1 20

Ubicación real de script

Nos aseguramos que el directorio de la aplicación es realmente el suyo y no el de un enlace simbolico

# Si es un enlace hay que buscar el directorio de programas sobre al que apunta
if [ -L "$0" ] ; then
DIR_PROGRAMAS=$(dirname "`readlink $0`")
else
DIR_PROGRAMAS=$(dirname "$0")
fi

Estamos ejecutando el script o se incluye como una librería

En caso de ejecutarse el script directamente lanzamos función interna.

[[ "`basename $BASH_SOURCE`" = "`basename $0`" ]] && funcion_interna

* El email es opcional.
Exigir legalmente el uso de software libre en las administraciones públicas Han actuado 0 personas Nos faltan 0 firmas Actúa ahora Tu nombre Tu apellido Tu correo-e Cód. Postal   Acepto las Norm. de Uso y Pol. de Priv. Firma la petición...
  Después de intentar una actualización de ubuntu 11.04 a 11.10 como siempre acabo haciendo la instalación directamente por errores que da. Así que mi recomendación es tener una partición del home y otra para el sistema y cuando se quiera hacer una actualización de versión instalarla formateando la partición raiz /. Siempre haciendo una copia de seguridad de toda la carpeta /etc que nos puede venir muy bien para restaurar co
Un conflicto resuelto en favor del espacio de trabajo eduardo@petit2:~/SERVIDOR/subversion/gcm/trunk/proyecto$ svn status!     C DATOS/idiomas    >   local borrar, incoming editar upon actualizar eduardo@petit2:~/SERVIDOR/subversion/gcm/trunk/proyecto$ svn resolve --accept=working DATOS/idiomasSe resolvió el conflicto de «DATOS/idiomas»  ...
Con este método conseguimos convertir la base de datos y el código php a utf8 de forma rapida En local Realizado script para hacer la conversión lo más rápido posible #!/bin/bash## Primer paso es pasar el archivo con la copia de la base de datos a utf8#### pasamos el archivo como primer parámetro al script, y se generara un archivo## con el mismo nombre + -utf8.sql#### Una vez obtenido el archivo comenta las lineas hasta el exit incluido.#### Nos situ
Lanzar un comando: mysql -pxxxx -e 'describe Playlists ;' Mp3Kult >> INF_PM3KULT.TXT Ver tablas: show tables ; Ver composición de tablas: describe <tabla> ; Copias de seguridad: mysqldump -uNOMBREDEUSUARIO -pPASSWORD -hHOST NOMBREBD > fichero.sql restaurar: mysql -uUSUARIO -pPASSWORD -hHOST BD < fichero.sql ATENCIÓN: Los usuarios y permisos no están incluidos Búsquedas: mysql -e 'Select Name, Path from Mp3s where Name like "%tres%" or P..
find -type f -print0 | xargs -0 file --mime-encoding...
Midbight Commander Combinaciones de teclas más usadas Alt + ENTER Copia el archivo seleccionado a la linea de comandos Esc + TAB Autocompleta la shell como en bash  Ctrl + o  Muestra la salida de la orden anterior ejecutada en consola  ins / Ctrl + t Seleccionar  Alt + t Cambio rapido entre las diferentes vistas posibles  Alt + o Muestra el directorio sobre el que estamos, en el otro panel Alt + i Muestra el di...
  UPDATE ps_product_lang SET description_short = description  ...
aICtGX hdfdbka
How much is a First Class stamp?
I'd like to order some foreign currency
I'd like a phonecard, please
Please call back later
We work together
How long are you planning to stay here?
Could I make an appointment to see ?

Usuario:

Contraseña:


ojo.gif
www.mamedu.com
Webmaster