Pages : 1
#1 Le 21/03/2013, à 17:56
- Vicolaships
[résolu]Concaténation HTML
Salut,
J'ai acheté un livre sur Blender et j'ai accès a une version en ligne. Je voudrais me créer une version locale. J'ai donc des fichiers HTML et un dossier pour chaque page du livre :
00_livre_fichiers
01_livre_fichiers
00_livre.htm
01_livre.htm
...
Je voudrais créer un script pour assembler toutes ces pages en une seule page.
Voilà un petit algorithme (enfin si on peut appeler ça comme ça...) qui ferait bien le travail :
Pour chaque .htm trouvé :
Supprimer les 1093 premières lignes
Supprimer la première chaîne de caractère "}</style>" trouvée
Supprimer tout ce qui se trouve après "</body>"
Copier le contenu du fichier et coller (ajouter) dans sortie.htm
Ajouter un <br> dans sortie.htm
Est-ce qu'il vaut mieux faire ça en bash, en C, autre chose ?
Pour les 2 je vais avoir besoin d'un coup de pouce
Il y a 2 autres scripts à faire :
Un pour déplacer tout les fichiers contenus dans "0x_livre" dans un dossier "livre". J'ai ca qui me satisfait :
find ./* -maxdepth 1 -exec mv {} . \;
Et un dernier script pour renommer toutes les chaînes "0x_livre_fichiers" de sortie.htm en "livre" : je pense savoir faire ca avec Gedit et les plugins
Merci d'avance pour votre aide, je compte sur vous pour me guider
Dernière modification par Vicolaships (Le 22/03/2013, à 22:25)
Ubuntu 14.04 x64
Hors ligne
#2 Le 22/03/2013, à 12:52
- Kooothor
Re : [résolu]Concaténation HTML
Salut,
man find
man sed
man cat
siteduzero -> bash (perso j'utiliserai bash, mais le language importe peu)
@+
~k
Dernière modification par Kooothor (Le 22/03/2013, à 12:52)
Hors ligne
#3 Le 22/03/2013, à 22:12
- Vicolaships
Re : [résolu]Concaténation HTML
Salut, merci pour ton post, ce script me mâche déjà pas mal le travail :
#!/bin/bash
mkdir fichiers
for file in *.htm
do
sed -n '/}<\/style>/,$p' $file | cat >> LIVRE.htm # affiche tout ce qui est apres "</style>"
done
find -name "*.png" -exec mv {} .\/fichiers \;
find -name "*.PNG" -exec mv {} .\/fichiers \;
find -name "*.gif" -exec mv {} .\/fichiers \;
find -name "*.GIF" -exec mv {} .\/fichiers \;
rm -r *_livre*
Ca ira pour moi, ça me suffit, merci
Dernière modification par Vicolaships (Le 22/03/2013, à 23:16)
Ubuntu 14.04 x64
Hors ligne