Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/12/2012, à 19:56

Link_Octree

[Shell] Supprimer un espace si situé avant le premier charactère

Bonsoir,

Au travers d'un script shell, je voudrais supprimer les espaces contenus dans un fichier texte SI, ET SEULEMENT SI ceux-ci sont situés avant la premier charactère "réel" ("<span class="title"><b>Titre</b></span">) dans mon cas.

En gros:
if espace_situé_avant_"<span class="title"><b>Titre</b></span" alors le_supprimer

Je sais faire la partie supression avec tr, mais je ne sais pas comment gérer la partie détection, afin de savoir si le/les espaces sont situés avant la partie qui m'intéresse ou non.

Si quelqu'un a une idée, je suis preneur smile

Merci !

Dernière modification par Link_Octree (Le 20/12/2012, à 19:56)

Hors ligne

#2 Le 20/12/2012, à 20:04

pingouinux

Re : [Shell] Supprimer un espace si situé avant le premier charactère

Bonjour,

sed -r 's/^ *(<span class=)/\1/' fichier >fichier_modifié

Hors ligne

#3 Le 23/12/2012, à 12:30

Link_Octree

Re : [Shell] Supprimer un espace si situé avant le premier charactère

Merci pour ta réponse smile
Je serais sûrement amené à réutiliser ce genre de commande (en l'adaptant) dans un script à l'avenir, j'ai essayé de comprendre par moi même, mais tous ces enchainements de charactères spéciaux de perdent sad
Tu pourrais me dire ou t'as appris tout celà pingouinux stp ?

Hors ligne

#4 Le 23/12/2012, à 13:40

Haleth

Re : [Shell] Supprimer un espace si situé avant le premier charactère

Ben c'est sed lol

sed -r 's/^ *(<span class=)/\1/' fichier >fichier_modifié

sed remplace (s = substitute) la chaine "^ *(<span class=)"  par le premier groupe (un groupe est entre parenthèse, ici, <span class=).

sed, c'est comme awk, ca s'apprend en pratiquant lol


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#5 Le 23/12/2012, à 13:49

pingouinux

Re : [Shell] Supprimer un espace si situé avant le premier charactère

Link_Octree #3 a écrit :

Tu pourrais me dire ou t'as appris tout celà pingouinux stp ?

Ce sont des années de pratique à fouiner dans les manuels, et à m'acharner quand une expression me résiste. Le forum permet aussi d'apprendre beaucoup de choses, en regardant les réponses des autres.

Hors ligne

#6 Le 23/12/2012, à 14:45

metalux

Re : [Shell] Supprimer un espace si situé avant le premier charactère

Pour info, la documentation présente sur le site de CCM m'a bien aidé et les bases s'acquièrent assez vite malgré l'apparence "barbare" de ces lignes.

pingouinux a écrit :

Le forum permet aussi d'apprendre beaucoup de choses, en regardant les réponses des autres.

Je confirme, c'est la 1ère source que j'utilise, des membres comme pingouinux nous apportent énormément aux travers de leurs réponses à nous autres débutants.

Hors ligne