Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Programmation.shell

Programmation.shell : utilisation du sed

Posté par skydevforum () le 29 avril 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

> Lire le message (3 commentaires, moyenne: 2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Pour les 150 caractères...

Posté par Christophe --- () le 29/04/2008 à 19:46. (lien). É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 gaaaaaAab () le 29/04/2008 à 19:58. (lien). É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 totof2000 () le 29/04/2008 à 22:05. (lien). É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 ...

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell