Le lundi 12 février 2007, olivier-serveur a écrit :
(...)
> >
> > 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 bonne idée.
>
Ben la partie "contenu" peut être assez importante : le fichier qui me sert de
test comporte 10.000 caractères
(...)
> >
> > 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 "
>
Oui, merci :)
J'arrive à ceci
for keywords in $(grep -m "1" '<meta name=\"keywords\"
content=\".*\">' "$fichier"); do
echo $keywords | tr -d '"'| tr '\n' ' '
done
Mais je n'arrive pas à conserver la variable keywords avec sa nouvelle valeur
(sans les sauts de lignes ni les guillemets
> > 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)
>
Alors, là, je n'ai pas dû comprendre.
Voilà ce que j'ai tenté : ça ne marche pas !
debut=$(grep -n '<body>' "$fichier")
fin=$(grep -n '</body>' "$fichier")
echo $debut
echo $fin
for contenu in $(sed -n $debut,$fin\p "$fichier"); do
echo $contenu | tr '\n' ' '
done
$debut et $fin ne sont pas affiché et j'ai l'erreur
sed: -e expression n°1, caractère 1: commande inconnue: `,'
> > En espérant que vous pourrez m'aider...
>
> en esperant que ca aide
Oui, ça m'a bien aidé :)
Je te remercie beaucoup,
--
Georges Lours
[EMAIL PROTECTED]
Utilisateur Linux (counter 383333)
=========================================
Vous souhaitez acquerir votre pack ou des services Mandriva?
Rendez-vous sur "http://store.mandriva.com".
Rejoignez le club Mandriva : http://club.mandriva.com
=========================================