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 Christophe --- . Évalué à 2.
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 . Évalué à 2.
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 . Évalué à 2.
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.