LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Si queremos usar ficheros que contienen espacios, y los vamos a tratar, lo mejor es entrecomillarlos, para lo que vamos a usar la siguiente línea, usando este ejemplo, que ahora vamos a describir.

Por favor, mira el artículo, más actualizado y posiblemente más simple.:

 

find /home/javier/Dropbox/SUBIDO/BBDDs/ -mtime +10 -type d \
 | awk '{print "\"",$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,"\"" }' \
 | sed s/'\" '/'\"'/g \
 | sed s/' \"'/'\"'/g \ 
 | sed s/$'  '/''/g \
 | sed s/' \"'/'\"'/g 

Buscamos un fichero que tenga una antigüedad de más de 10 días, y que sea un directorio. La salida la dividimos en un nombre de hasta 10 campos, teniendo cada campo la separación de un espacio, esa salida la vamos a entrecomillar, cambiando del principio, comillas y espacio, ( "   ), a sólo comillas ( " ), del final, también, espacios y comillas (   " ) a sólo comillas. ( " ), como muchas salidas del comando awk, imprimirá una salida vacía devolviendo un espacio, convertiremos cada dos espacios a un nulo, y al final, si queda algún espacio, volveremos a hacer espacios y comillas (   " ) a sólo comillas. ( " ).

Esto es el ejemplo (que no funciona, sólo a mode de explicación)

find /home/javier/Dropbox/SUBIDO/BBDDs/ -mtime +10 -type d \
 | awk '{print "\"",$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,"\"" }' \       # Imprimir campos 
                                                                   # separados por espacios
 | sed s/'\" '/'\"'/g \         # Convertiremos (del principio) la salida comillas y espacio, a sólo comillas.
 | sed s/' \"'/'\"'/g \         # Convertiremos (del final) la salida espacio y comillas, a sólo comillas.
 | sed s/$'  '/''/g \           # Convertimos, cada dos espacios, a un nulo (ningún espacio)
 | sed s/' \"'/'\"'/g           # Convertiremos (del final) la salida espacio y comillas, a sólo comillas.

La salida, puede devolver algo parecido a esto.

"/home/javier/Dropbox/SUBIDO/BBDDs/weekly"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/test_morgan"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/localhost_quickshop"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/test_juno"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/asfreference_j4"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/#rocksdb"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/test_monday"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/test_avenue"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/test_chester"
"/home/javier/Dropbox/SUBIDO/BBDDs/weekly/test_lykka"

Tal vez haya una versión más fácil de hacerlo, pero al menos, esta funciona. Si quieres y tienes nuevas mejoras, por favor déjalo en los comentarios.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías