Georges Lours a écrit :
Bonjour,
Bonjour,


Houla, je me lance dans une entreprise périlleuse (pour mon temps libre)
Houla, je ne suis pas un specialiste du bash mais,

J'ai des pages web et je veux transférer des extraits de celles-ci vers une base de données mysql J'essaye, pour cela, de réaliser un script bash parce que j'en ai pas mal et le faire à la main avec des copier/coller serait fastidieux et source de nombreuses erreurs

D'abord, avant de continuer, est-ce que le bash est une bonne idée ? Avez-vous d'autres propositions ?
s'il y a peu de lignes a ecrire, c'est une bionne idée.


Ensuite, j'extrais une ligne de ma page de cette façon (désolé pour les retours à la ligne dus à kmail)

***************************************************
#!/bin/sh
fichier=$(kdialog --title "fichier.php" --inputbox "Entrez le chemin du fichier à incorporer" "page****.php")

for keywords in $(grep -m "1" '<meta name=\"keywords\" content=\".*\">' "$fichier"); do
echo $keywords
done
****************************************************
Quand j'exécute cela, la console m'affiche ceci
<meta
name="keywords"
content="cours
de
droit,
cours
de
biologie,
etc...


À partir de là, plusieurs problèmes

1) J'aimerais bien enlever le début de cette ligne <meta name="keywords" content="
J'arrive à enlever <meta name= en faisant ainsi
keywords=${keywords#<meta name=}
Mais, les guillemets qui suivent me posent des problèmes que je n'arrive pas à surmonter (pour le moment)
tr -d '"' permet de supprimer tous les "


2) J'aimerais bien obtenir un affichage sur une seule ligne et non ligne par ligne
modif de ta ligne ou de meme : tr -d '\n'


3) J'aimerais bien pouvoir extraire le contenu de la page, par exemple ce qui se trouve entre les balises <body> et </body>, mais, là, il y a plusieurs lignes. Je ne sais pas extraire plusieurs lignes. Et je voudrais également que le résultat soit entièrement réuni sur une seule ligne. Y-a-t-il une façon, par exemple avec kwrite, de supprimer tous les sauts de lignes dans un extrait de fichier texte ?
avec grep, on recupere le numero de ligne :
grep -n <body> de meme pour </body>

avec sed, on extrait les lignes en question :
sed -n 1,5\p <fichier.php> (si body en ligne 1 et /body en ligne 5)


En espérant que vous pourrez m'aider...
en esperant que ca aide
=========================================
Vous souhaitez acquerir votre pack ou des services Mandriva?
Rendez-vous sur "http://store.mandriva.com";.
Rejoignez le club Mandriva : http://club.mandriva.com
=========================================

Répondre à