Gracias g3kdigital, pero tengo que hacerlo con un Bash, y ya casi lo he conseguido. Pero aún tengo un error.
Mi archivo CSS y su ruta son:
./ePub/OEBPS/css/idGeneratedStyles.css
Con el siguiente Bash ejecutándolo en el Terminal de Mac o Linux, logro que cada estilo del CSS se me divida en un archivo independiente cada vez que encuentra caracter del final de estilo, es decir
}
El script lo he llamado
script.sh y es el siguiente codigo:
Código BASH:
Ver originalcat ./ePub/OEBPS/css/idGeneratedStyles.css | (
I=0;
echo "">./ePub/OEBPS/css/idGeneratedStyles0;
while read line;
do
echo $line >> ./ePub/OEBPS/css/idGeneratedStyles$I;
if [ "$line" == '}' ];
then I=$[I+1];
echo "" > ./ePub/OEBPS/css/idGeneratedStyles$I;
fi;
done;
)
Hasta aqui todo funciona correctamente, y después de ejecutarlo podríamos ver en nuestra carpeta, los siguientes archivos:
idGeneratedStyles.css
idGeneratedStyles0
idGeneratedStyles1
idGeneratedStyles2
idGeneratedStyles3
Pero ahora os enseño el script con el código para que al encontrar el estilo llamado "Estilo1" haga una modificación, y con el "Estilo2" otra diferente, etc...
Pero no funciona, creo que el error esta en la linea del "grep" que no reconoce el numero final del nombre del archivo y no hay manera de que funcione.
Una ayuda por favor:
Código BASH:
Ver originalcat ./ePub/OEBPS/css/idGeneratedStyles.css | (
I=0;
echo "">./ePub/OEBPS/css/idGeneratedStyles0;
while read line;
do
echo $line >> ./ePub/OEBPS/css/idGeneratedStyles$I;
if [ "$line" == '}' ];
then I=$[I+1];
echo "" > ./ePub/OEBPS/css/idGeneratedStyles$I;
fi;
############
if grep -qr Estilo1 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
#delete the bad bleeding
perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
#add the right bledding
perl -pi -w -e 's#}#margin-left:1em;margin-right:1em;text-indent:1em;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
fi;
done;
)
############
if grep -qr Estilo2 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
#delete the bad bleeding
perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
#add the right bledding
perl -pi -w -e 's#}#margin-left:-1em;margin-right:1em;text-indent:1em;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
fi;
done;
)
############
if grep -qr Estilo3 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
#delete the bad bleeding
perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
#add the right bledding
perl -pi -w -e 's#}#margin-left:-1em;margin-right:1em;text-indent:0;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
fi;
done;
)
############
if grep -qr Estilo4 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
#delete the bad bleeding
perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
#add the right bledding
perl -pi -w -e 's#}#margin-left:1em;margin-right:0;text-indent:0;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
fi;
done;
)
PD: Por favor administrador del forosdelweb, si lo considera oportuno, traslade este post a Linux pues será más fácil que alguien me ayude. Muchas gracias.