- Listar los ficheros de un directorio en duplicado en la misma línea y guardarlos en un fichero. Esto puede ser útil para manipular los fichero. Por ejemplo suponiendo que se tratan de ficheros de audio y queremos un fragmento de 30 segundos de cada pista:
ls *.flac | awk '{ print "ffmpeg -i " $0 " -t 30 fragmento-" $0 }' > fichero-destino
bash fichero-destino
Renombrar ficheros de imágenes a un nombre + un número:
ls *.jpg | awk '{ print "mv \"" $0 "\"imagen" x++ ".jpg" }' > fichero-destino
bash fichero-destinoRenombrar las extensiones de algunos ficheros:
ls *JPG* | awk '{a=$0;gsub(".JPG",".jpg",a); print "mv " $0 " " a }' > fichero-destinobash fichero-destino - Ficheros inmodificables.
lsattr muestra los atributos de un fichero y
chattr los cambia:
chattr +i fichero/directorio (lo hace inmodificable)
chattr -i fichero/directorio (permite la modificación) - Borrando ficheros para una fechada dada:
ls -ld */*/* | grep "jul 10" | cut -c 47-80| xargs rm - Cambiar de png a jpg.
ls *.png | awk '{a=$0;gsub(".png",".jpg",a); print "convert " $0 " " a}' > kk.sh
bash kk.sh - Cambiar la resolución a 300 dpi de una imagen:
convert -units PixelsPerInch imagen -resample 300 imagenresultanteVarios ficheros, convertirlos a jpg, 300 dpi y renombrarlos como una secuencia numérica:
ls * | awk '{print "convert -units PixelsPerInch " $0 " -resample 300 " NR ".jpg" }' > fichero-destino - Matar todos los procesos de un usuario:pkill -u usuario
- Indicar clave con sshpass. Esto nos ahorra esperar para meter la clave en conexiones lentas.
sshpass -p clave ssh ususaro@servidor -p puerto - Sincronizar una carpeta, copiando solo los ficheros que falten o que sean diferentes del original (verficado mediante hash):
rsync -avuc carpeta_origen/ carpeta_destino/ El parámetro -a hace la copia recursiva y preserva los tiempos de modificación, copia los vínculos simbólicos, preserva los permisos, preserva la información de el dueño y el grupo del archivo, preserva los archivos de dispositivo y los archivos especiales.
Los parametors -uc actualizará los contenidos de la carpeta destino en base a la carpeta de origen mediante la comparación del hash de los ficheros.
Mostrando el progreso y mediante un puerto diferente al estándar de ssh:
rsync -avuc -e 'ssh -p 443' --progress carpeta_origen/ host:/carpeta_destino/pkill -u usuario
Para conectar con Dolibarr otras aplicaciones, como un carrito de la compra, puede ser muy interesante utilizar los " Web Services " que nos ofrece Dolibarr. Para activarlos tenemos que ir a Configuración-> Módulos-> Módulos Interfaz y poner a ON los WebServices. También hay que configurar la clave para usar los Web Services (parámetro "dolibarrkey" en webservices). Indicamos una palabra clave que se nos ocurra como por ejemplo: $5x8Cd45Cadec_f?K y pulsamos salvar. A continuación muestro un ejemplo con Python y la librería suds para obtener una factura: from suds.client import Client client = Client('http://www.midominio.es/dolibarr/webservices/server_invoice.php?wsdl') auth = client.factory.create('authentication') auth.dolibarrkey='$5x8Cd45Cadec_f?K' auth.sourceapplication='' auth.login='usuario' auth.password='clave' auth.entity='' result = client.service.getInvoice(auth,'1') print resu...
Comentarios