Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/08/2016, 12:29
OdooPlay
 
Fecha de Ingreso: abril-2016
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: reemplazar estilos CSS en dependencia de sus propiedades

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 original
  1. cat ./ePub/OEBPS/css/idGeneratedStyles.css | (
  2. I=0;
  3. echo "">./ePub/OEBPS/css/idGeneratedStyles0;
  4. while read line;
  5. do
  6. echo $line >> ./ePub/OEBPS/css/idGeneratedStyles$I;
  7. if [ "$line" == '}' ];
  8. then I=$[I+1];
  9. echo "" > ./ePub/OEBPS/css/idGeneratedStyles$I;
  10. fi;
  11. done;
  12. )

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 original
  1. cat ./ePub/OEBPS/css/idGeneratedStyles.css | (
  2. I=0;
  3. echo "">./ePub/OEBPS/css/idGeneratedStyles0;
  4. while read line;
  5. do
  6. echo $line >> ./ePub/OEBPS/css/idGeneratedStyles$I;
  7. if [ "$line" == '}' ];
  8. then I=$[I+1];
  9. echo "" > ./ePub/OEBPS/css/idGeneratedStyles$I;
  10. fi;
  11.  
  12.  
  13. ############
  14. if grep -qr Estilo1 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
  15. #delete the bad bleeding
  16. perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  17. perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  18. perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  19.  
  20. #add the right bledding
  21. perl -pi -w -e 's#}#margin-left:1em;margin-right:1em;text-indent:1em;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
  22.  
  23. fi;
  24. done;
  25. )
  26.  
  27. ############
  28. if grep -qr Estilo2 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
  29. #delete the bad bleeding
  30. perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  31. perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  32. perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  33.  
  34. #add the right bledding
  35. perl -pi -w -e 's#}#margin-left:-1em;margin-right:1em;text-indent:1em;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
  36.  
  37. fi;
  38. done;
  39. )
  40.  
  41. ############
  42. if grep -qr Estilo3 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
  43. #delete the bad bleeding
  44. perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  45. perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  46. perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  47.  
  48. #add the right bledding
  49. perl -pi -w -e 's#}#margin-left:-1em;margin-right:1em;text-indent:0;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
  50.  
  51. fi;
  52. done;
  53. )
  54.  
  55. ############
  56. if grep -qr Estilo4 "./ePub/OEBPS/css/idGeneratedStyles$I"; then
  57. #delete the bad bleeding
  58. perl -i -ne'/\margin-left/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  59. perl -i -ne'/\margin-right/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  60. perl -i -ne'/\text-indent/ or print' ./ePub/OEBPS/css/idGeneratedStyles$I;
  61.  
  62. #add the right bledding
  63. perl -pi -w -e 's#}#margin-left:1em;margin-right:0;text-indent:0;}#g;' ./ePub/OEBPS/css/idGeneratedStyles$I;
  64.  
  65. fi;
  66. done;
  67. )



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.