[HS] sed ...

Le
Steve
Bonjour,

Désolé pour le HS, je suis un peu pressé

J'essaie d'insérer une ligne dans un fichier tex. La ligne en question
est

usepackage{$font}

où $font vient de

for font in `cat fonts`

et le fichiers 'fonts' contient le nom de police, une par ligne. J'ai
écrit un chti script (qui ne fait pas encore ce que je veux, d'où mon
appel à l'aide).

FILE="fichier"

for font in `cat fonts`
do

NEWFILE=$FILE-$font.tex
cp $FILE $NEWFILE
string="usepackage{$font}"
echo "string vaut $string"
sed "6 s/^/"$string"/" $FILE > $NEWFILE

done


La sortie me donne :

Sepackage{bookman}

J'ai essayé dans tous les sens avec des doubles quotes, des simples, mis
le dans le sed, hors du sed, etc , je n'arrive pas faire apparaître
le où il faut.

Un pti coup de main siouplet ??

Merci d'avance

--
Steve

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sébastien NOBILI
Le #9681651
Le mercredi 30 avril 08 à 14:05, Steve a écrit :
| Bonjour,

Bonjour,

[...]

| string="usepackage{$font}"
| echo "string vaut $string"
| sed "6 s/^/"$string"/" $FILE > $NEWFILE
|
| done

Il faut échapper le « » et le faire deux fois car la permière fois
sera bouffée par la ligne de commande sed.

Il faut donc initialiser comme ça :
string="\\usepackage{$font}"

Aaah le joies du shell !!!

| Merci d'avance

Pas de quoi.

| Steve

Seb

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Steve
Le #9681641
Le 30-04-2008, à 14:19:53 +0200, Sébastien NOBILI () a écrit :

Lignes : 38

Le mercredi 30 avril 08 à 14:05, Steve a écrit :
| Bonjour,

Bonjour,

[...]

| string="usepackage{$font}"
| echo "string vaut $string"
| sed "6 s/^/"$string"/" $FILE > $NEWFILE
|
| done

Il faut échapper le « » et le faire deux fois car la permière fois
sera bouffée par la ligne de commande sed.

Il faut donc initialiser comme ça :
string="\\usepackage{$font}"



Bingo !

Aaah le joies du shell !!!



Ach voui ;-)

| Merci d'avance

Pas de quoi.

| Steve

Seb



Merci mille fois (et même plus) !!!

--
Steve

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Yannick Fouquet
Le #9681631
Bonjour,

Steve a écrit :
[SNIP usepackage{$font} où $font vient de for font in `cat fonts`]

FILE="fichier"

for font in `cat fonts`
do

NEWFILE=$FILE-$font.tex
cp $FILE $NEWFILE
string="usepackage{$font}"
echo "string vaut $string"
sed "6 s/^/"$string"/" $FILE > $NEWFILE

done




Je ne connais pas bien sed (j'utilise plutôt perl), mais ne faudrait-il
pas mettre le dans le string ?

string="\usepackage{$font}"

J'ai essayé avec le même résultat.
Par contre

string="\usepackage{$font}"

marche...
Perso, je l'explique par les ".
Le 1er : string="truc" 'compile' truc et donc \ devient de même que
t, n et tous les machins qu'il connait.
Le 2ieme : sed "bidule" 'compile bidule.
donc ton truc qui contient \u est compilé en \u et ton bidule qui
contient \u est compilé en u.
Je ne sais pas si je suis bien clair.
Hope this helps,
bon courage,
@+
Yannick.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Yannick Fouquet
Le #9681611
Yannick Fouquet a écrit :
Bonjour,

Steve a écrit :
[SNIP usepackage{$font} où $font vient de for font in `cat fonts`]
FILE="fichier"

for font in `cat fonts`
do

NEWFILE=$FILE-$font.tex
cp $FILE $NEWFILE
string="usepackage{$font}"
echo "string vaut $string"
sed "6 s/^/"$string"/" $FILE > $NEWFILE

done




Je ne connais pas bien sed (j'utilise plutôt perl), mais ne
faudrait-il pas mettre le dans le string ?

string="\usepackage{$font}"

J'ai essayé avec le même résultat.
Par contre

string="\usepackage{$font}"

marche...
Perso, je l'explique par les ".
Le 1er : string="truc" 'compile' truc et donc \ devient de même que
t, n et tous les machins qu'il connait.
Le 2ieme : sed "bidule" 'compile bidule.
donc ton truc qui contient \u est compilé en \u et ton bidule qui
contient \u est compilé en u.
Je ne sais pas si je suis bien clair.
Hope this helps,
bon courage,
@+
Yannick.



Comme l'a dit Sébastien NOBILI, les 4 sont plus justes.
Désolé pour le bruit.

Yannick.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Steve
Le #9681591
Le 30-04-2008, à 14:43:31 +0200, Yannick Fouquet () a écrit :

>
Comme l'a dit Sébastien NOBILI, les 4 sont plus justes.
Désolé pour le bruit.



Merci quand même, mieux vaut un peu de bruit qu'un silence
assourdissant (enfin pour moi).

Yannick.



--
Steve

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Edi Stojicevic
Le #9681571
* Steve
Le 30-04-2008, à 14:43:31 +0200, Yannick Fouquet () a écrit :

> >
> Comme l'a dit Sébastien NOBILI, les 4 sont plus justes.
> Désolé pour le bruit.

Merci quand même, mieux vaut un peu de bruit qu'un silence
assourdissant (enfin pour moi).

> Yannick.

--
Steve



Re,

Encore une fois comme l'a indique Marc, il serait bien de s'inscrire sur
ssfr et/ou asyd.

Pour ssfr : http://debianworld.org/shellscript-fr
Pour asyd : marc tu peux donner un lien

@+

--
. ''`. (___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: 0x1237B032
`-

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Marc Chantreux
Le #9681561
On Wed, Apr 30, 2008 at 03:27:02PM +0100, Edi Stojicevic wrote:
Pour ssfr : http://debianworld.org/shellscript-fr
Pour asyd : marc tu peux donner un lien



http://lists.asyd.net

cordialement,
mc

--
Marc Chantreux
BibLibre, expert en logiciels libres pour l'info-doc
http://biblibre.com

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme