Aide pour la commande sed
Résolu
ibliss11
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Remerciements de rigueur, bien sûr, pour l'aide que vous nous apportez au quotidien.
J'ai un problème avec la commande sed.
En fait, j'ai un fichier .tex qui contient tous mes acronymes (rédaction de mémoire oblige).
Ce fichier est du genre :
\begin{acronym}
...
\acro{aif}[AIF]{\textbf{A}poptosis-\textbf{i}nducing \textbf{f}actor}
\acro{aura}[AURA]{\textbf{Aur}ora kinase \textbf{A}}
...
\end{acronym}
Ce que je voudrais faire c'est remplacer "\textbf{1-ou-2-ou-3-lettres}" par "\texbf{\underline{ces-1-ou-2-ou-3-mêmes-lettres}}"
Pour ceux qui utilisent latex, ça me permettra de faire apparaître en gras et souligné les lettres formant l'acronyme, au lieu de seulement en gras (les exigences des correcteurs sont parfois bizarres...).
Du coup j'ai essayé un :
sed -e "s/\\textbf\{"*"\}/\\textbf\{\\underline\\{"*"\}/g" monfichier.tex
mais ça ne marche pas.
Je suis désolé, je maîtrise très mal les métacaractères.
Pourriez m'aider s'il vous plaît ?
Merci d'avance
Remerciements de rigueur, bien sûr, pour l'aide que vous nous apportez au quotidien.
J'ai un problème avec la commande sed.
En fait, j'ai un fichier .tex qui contient tous mes acronymes (rédaction de mémoire oblige).
Ce fichier est du genre :
\begin{acronym}
...
\acro{aif}[AIF]{\textbf{A}poptosis-\textbf{i}nducing \textbf{f}actor}
\acro{aura}[AURA]{\textbf{Aur}ora kinase \textbf{A}}
...
\end{acronym}
Ce que je voudrais faire c'est remplacer "\textbf{1-ou-2-ou-3-lettres}" par "\texbf{\underline{ces-1-ou-2-ou-3-mêmes-lettres}}"
Pour ceux qui utilisent latex, ça me permettra de faire apparaître en gras et souligné les lettres formant l'acronyme, au lieu de seulement en gras (les exigences des correcteurs sont parfois bizarres...).
Du coup j'ai essayé un :
sed -e "s/\\textbf\{"*"\}/\\textbf\{\\underline\\{"*"\}/g" monfichier.tex
mais ça ne marche pas.
Je suis désolé, je maîtrise très mal les métacaractères.
Pourriez m'aider s'il vous plaît ?
Merci d'avance
A voir également:
- Aide pour la commande sed
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
5 réponses
ça fait longtemps le latex donc je ne peux pas t'aider mais...
tout dépend de 'lutilisation que tu en fais:
essaye lyx (wysiwyg) comme ça tu n'as plus à te soucier des bold,... MAIS tu peux encore entrer du code latex et donc entrer des formules mathématiques facilement (soit dit en passant pour les formules: office 2007 accepte du code latex, sale voleurs,...)
tout dépend de 'lutilisation que tu en fais:
essaye lyx (wysiwyg) comme ça tu n'as plus à te soucier des bold,... MAIS tu peux encore entrer du code latex et donc entrer des formules mathématiques facilement (soit dit en passant pour les formules: office 2007 accepte du code latex, sale voleurs,...)
Ah non, mais je pense que vous êtes les mieux placés pour m'aider.
Ce problème n'a rien à voir avec latex, autrement je l'aurais posté dans le forum latex.
Ça peut concerner n'importe quel fichier sur lequel on veut remplacer une chaîne de caractère par une autre, car c'est trop fastidieux à faire à la main.
Mais c'est vrai que mes explications ne sont pas claires :
dans n'importe quel type de fichier, je voudrais changer
\textbf{un-mot} par \textbf{underline{le-même-mot}}
et cela dans un shell bash, donc j'ai fait
sed -e "s/\\textbf\{"*"\}/\\textbf\{\\underline\\{"*"\}/g" monfichier
Vous m'avez déjà résolu des problèmes qui me semblaient beaucoup plus complexes pourtant...
Merci d'avance et désolé pour le manque de clarté
Ce problème n'a rien à voir avec latex, autrement je l'aurais posté dans le forum latex.
Ça peut concerner n'importe quel fichier sur lequel on veut remplacer une chaîne de caractère par une autre, car c'est trop fastidieux à faire à la main.
Mais c'est vrai que mes explications ne sont pas claires :
dans n'importe quel type de fichier, je voudrais changer
\textbf{un-mot} par \textbf{underline{le-même-mot}}
et cela dans un shell bash, donc j'ai fait
sed -e "s/\\textbf\{"*"\}/\\textbf\{\\underline\\{"*"\}/g" monfichier
Vous m'avez déjà résolu des problèmes qui me semblaient beaucoup plus complexes pourtant...
Merci d'avance et désolé pour le manque de clarté
Salut,
;-))
[tmpfs]$ cat plop \begin{acronym} ... \acro{aif}[AIF]{\textbf{A}poptosis-\textbf{i}nducing \textbf{f}actor} \acro{aura}[AURA]{\textbf{Aur}ora kinase \textbf{A}} ... \end{acronym} [tmpfs]$ sed 's|\(textbf\)\([^}]*}\)|\1{\\underline\2}|g' plop \begin{acronym} ... \acro{aif}[AIF]{\textbf{\underline{A}}poptosis-\textbf{\underline{i}}nducing \textbf{\underline{f}}actor} \acro{aura}[AURA]{\textbf{\underline{Aur}}ora kinase \textbf{\underline{A}}} ... \end{acronym} [tmpfs]$
;-))
Ça fonctionne parfaitement, mais en même temps je n'en attendais pas moins... comme d'habitude :-)
Cependant, est-ce que j'abuserais si je demandais une explication ?
Notament, pourquoi le caractère "pipe" remplace les slash ?
Pourquoi des parenthèses ? Pourquoi des chiffres ? et que veut dire l'accent circonflexe dans le cas présent ?
Désolé d'être aussi chiant, il est tard, si nous n'avez pas le temps c'est pas grave.
Cependant, est-ce que j'abuserais si je demandais une explication ?
Notament, pourquoi le caractère "pipe" remplace les slash ?
Pourquoi des parenthèses ? Pourquoi des chiffres ? et que veut dire l'accent circonflexe dans le cas présent ?
Désolé d'être aussi chiant, il est tard, si nous n'avez pas le temps c'est pas grave.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question