En ocasiones se plantean problemas que se pueden solucionar con una simple orden o con algún aplicativo. Pero también puede suceder que no te acuerdes de la orden y no quieras instalar software alguno. En ese caso es posible acudir a el siempre omnipresente bash.
Por ejemplo, en caso de que sea necesario obtener ficheros .vcf (vcard) individuales de un único archivo, y no que no queramos hacer uso de comandos ultracomplejos, podemos programar un sencillo script bash.
El siguiente script, por supuesto, se puede parametrizar, controlar errores, bla, bla, bla.
# Script que tomando como origen un único fichero .vcf, crea tantos archivos como vcards individuales # contenga. Hace uso de que el comienzo y final de cada contacto está acotado con una cadena. # En VECES se almacena la candidad de vcards individuales VECES=`grep -n 'END:VCARD' ~/scripts/svcards/10000.vcf | wc -l` echo echo Creando $VECES ficheros VCARD echo # Bucle que recorre las VCARDs. # Con head se obtiene el primer vcard y con tail el resto que almacena en el mismo archivo # origen. i=0 while [ $i -lt $VECES ]; do echo Generando VCARD: $i PRIMER_FINAL=`grep -n 'END:VCARD' -m 1 ~/scripts/svcards/10000.vcf | cut -f1 -d':'` FIN=`wc -l ~/scripts/svcards/10000.vcf | cut -f1 -d' '` DIFF=`echo $FIN-$PRIMER_FINAL | bc` echo $PRIMER_FINAL echo $FIN echo $DIFF head -$PRIMER_FINAL ~/scripts/svcards/10000.vcf > $i.vcf tail -n $DIFF ~/scripts/svcards/10000.vcf > ~/scripts/svcards/10000aux.vcf cp --preserve ~/scripts/svcards/10000aux.vcf ~/scripts/svcards/10000.vcf let i+=1 done echo echo Generación de VCARDs finalizada