Forum Programmation.shell utilisation du sed

Posté par  .
Étiquettes : aucune
0
29
avr.
2008
Bonjour,

Je cherche une solution pour enlever et sur une ligne et limiter à 150 caractères mais ça ne fonctionne pas.

Voici un exemple:

echo "TEST 1234567890 TEST 1234567890 2TEST 1234567890 2TEST 1234567890 3TEST 1234567890 3TEST 1234567890 4TEST 1234567890 4TEST 1234567890 5TEST 1234567890 5TEST1234567890 " | sed s/^.*\\|\<\/STRONG\>//g | printf "%.150"


Merci de m'aider.

Bien à vous

Fred
  • # Pour les 150 caractères...

    Posté par  . Évalué à 2.

    Bonjour,

    Plutôt que d'utiliser le printf tu pourrais utiliser ceci:
    cut -c-150

    Pour ce qui est du sed, ce serait déjà une bonne idée de mettre la commande entre quotes:
    sed -e 's/...//g'
    pour éviter les problèmes d'interprétation par le shell de la regexp.

    En suite, je pense qu'un pattern comme: s/</?STRONG>//g devrait mieux marcher? (en supposant que tu veuilles supprimer juste les tags)
  • # echappe !

    Posté par  . Évalué à 2.

    J'ai un peu raccourci ta ligne d'exemple, j'espère que tu ne m'en voudras pas ;)
    Sinon, en regardant le source de la page, si je comprend bien, ça serait quelque chose comme ça :

    echo "<strong>TEST 1234567890</strong> <STRONG>TEST 1234567890 </strong>" | sed "s/<strong>\|<\/strong>//gi" | cut -c 1-15

    Plusieurs problèmes dans ta regex :
    - pour sed, quand < et > sont échappés, ils sont considérés comme des indicateurs de début et de fin de mot. Il ne faut donc pas les échapper ici.
    - en mettant i à la fin de la regex "s/(....)/gi", tu peux dire à sed d'ignorer la case (pour gérer les différentes cases du mot strong).

    et pour couper des lignes, cut, c'est bien :)
    • [^] # Re: echappe !

      Posté par  . Évalué à 2.

      et pour couper des lignes, cut, c'est bien :)

      Non pas toujours, ça dépend de ce que tu fais de ta ligne coupée ....
      Il veut peut être insérer un retour chariot ...

      Si cest le cas, il y a un post dans les forums qui date de la semaine dernière ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.