OVH Cloud OVH Cloud

[sed] pb un peu au dessus de mes moyens

14 réponses
Avatar
Marc Boyer
J'aimerais avec sed transformer des choses du genre

- blabla, blabla
blabla, blabla
- blabla, blabla
blabla, blabla

En
\begin{itemize}
\item blabla, blabla
blabla, blabla
\item blabla, blabla
blabla, blabla
\end{itemize}

Pour le moment, j'arrive à tout faire, sauf le \begin{itemize}, avec
/^[ ]*-/,/^[ ]*$/ {
s/-/\\item/
s/^[ ]*$/\\end{itemize}/
}

Une idée ?

Marc Boyer
--
La contractualisation de la recherche, c'est me donner de l'argent pour
faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce
que je sais faire, je le fais sans moyens...

4 réponses

1 2
Avatar
Marc Boyer
Stephane Chazelas wrote:
2004-09-14, 14:28(+00), Stephane Le Men:


Petite question sur une ligne pas comprise:

/^[[:blank:]]*-/{
i
begin{itemize}
:1
s/^[[:blank:]]*-[[:blank:]]*/item /
$!{
n
/[^[:blank:]]/b1
}
a
end{itemize}
/[^[:blank:]]/!d


Que fait cette ligne ?
Elle détruit les lignes dont qui ne correspondent pas à
[^[:blank:]], c'est à dire qui ne contiennent pas de blanc...

Pourquoi n'est-elle pas équivalente à
/[[:blank:]]/d

Merci,
Marc Boyer
--
La contractualisation de la recherche, c'est me donner de l'argent pour
faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce
que je sais faire, je le fais sans moyens...

Avatar
Stephane Chazelas
2004-09-15, 08:14(+00), Marc Boyer:
[...]
/[^[:blank:]]/!d


Que fait cette ligne ?
Elle détruit les lignes dont qui ne correspondent pas à
[^[:blank:]], c'est à dire qui ne contiennent pas de blanc...


Efface les lignes qui ne contiennent pas de non-blanc, donc les
lignes qui ne contiennent que des blancs (ou sont vides).

Pourquoi n'est-elle pas équivalente à
/[[:blank:]]/d


Parce que ca, ca efface les lignes qui contiennent au moins un
blanc. Ca serait equivalent a:

/^[[:blank:]]*$/d

--
Stephane


Avatar
Marc Boyer
Stephane Chazelas wrote:
2004-09-15, 08:14(+00), Marc Boyer:
[...]
/[^[:blank:]]/!d


Que fait cette ligne ?
Elle détruit les lignes dont qui ne correspondent pas à
[^[:blank:]], c'est à dire qui ne contiennent pas de blanc...


Efface les lignes qui ne contiennent pas de non-blanc, donc les
lignes qui ne contiennent que des blancs (ou sont vides).


Bien sur, j'ai trop l'habitude de raisonner en pattern
de ligne complète.

Pourquoi n'est-elle pas équivalente à
/[[:blank:]]/d


Parce que ca, ca efface les lignes qui contiennent au moins un
blanc. Ca serait equivalent a:

/^[[:blank:]]*$/d


C'était ma manière spontanée de raisonner.
Je prends note.

Merci,
Marc Boyer
--
La contractualisation de la recherche, c'est me donner de l'argent pour
faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce
que je sais faire, je le fais sans moyens...



Avatar
Stephane Le Men
Stephane Chazelas wrote:

Salut Stephane,

tous les sed savent compter leurs lignes.


En fait, c'est tres recenment que j'ai decouvert ca. Avant
je me prennais la tete avec NR de awk


L'OP voulait le begin{itemize} avant le premier "-", pas
forcement au debut du fichier, il peut y avoir plusieurs itemize
dans le fichier, j'imagine.


C'est pour ca que j'ai toujours ete nul en math, j'ajoute ou
j'enleve presque toujours une hypothese de l'ennonce.

1 2