écriture dans un fichier avec shell

Résolu/Fermé
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011 - 23 avril 2010 à 19:43
 lamou23 - 28 avril 2010 à 18:23
salut

je voudrais cpoier le contenu de deux fichier (fichier1.txt et fichier2.txt) dans un fichier qui s'apelle toutfiche.txt.

je m'explique, le fichier toutfiche.txt contient le code suivant:

***********toutfiche.txt*************************************************
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"


<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>


<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>

************************************************************************

le contenu de fichier1.txt est :

****************************fichier1.txt********************************
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"

************************************************************************

le contenu de fichier2.txt est :

****************************fichier2.txt********************************
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>

*********************************************************************

Mon but c'est d'éditer un script .sh qui me permet de copier le contenu de fichier1.txt et fichier2.txt dans toutfiche.txt, de telle sorte que j'ai cet ordre dans toutfiche.txt:

***********toutfich.txt*************************************************
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>

<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>


************************************************************************
aidez moi svl pour aboutir à la solution

merci d'avance
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
23 avril 2010 à 20:12
Salut,

$ cat toutfiche.txt 
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"


<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>


<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client> 

$ cat fichier1.txt 
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe" 

$ cat fichier2.txt 
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client> 

$ sed '/frop=/{
r fichier1.txt
}
/path=/{
n;
r fichier2.txt
}
' toutfiche.txt

NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe" 


<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client> 


<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client> 

$

;-))
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
23 avril 2010 à 20:25
peux tu m'expliquer ce bout de code:
$ sed '/frop=/{
r fichier1.txt
}
/path=/{
n;
r fichier2.txt
}
' toutfiche.txt

merci
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
23 avril 2010 à 20:54
s'il te plait j'aimerais bien que tu m'expliques le bout de code que tu m'as donné :)
merci d'avance
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
23 avril 2010 à 21:21
j'ai compris le code en fin de compte mais le problème c'est que le fichier toufiche.txt va etre rempli en fur à mesure, maintenant si je veux rajouter le contenu de deux autre fichier (fich3.txt et fich4.txt ) dans toutfiche.txt

********************fich3.txt*********
NameTrans fn="pfx2dir" frop="cgf/" dir="/rasais/web/docs/cgf
*******************************************

***********************fich4.txt****************************"
<Client urlhost=www.cgf.com">
NameTrans fn="home-page" path="/rasais/web/docs/cgf/index.php"
<Client>
*******************************************************************

afin davoir le contenu suivant de toutfiche.txt

NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="cgf/" dir="/rasais/web/docs/cgf

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.cgf.com">
NameTrans fn="home-page" path="/rasais/web/docs/cgf/index.php"
<Client>


<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>

****************************************************************

comment faire dans ce cas?????
merci d'avance
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
24 avril 2010 à 00:59
sed '/frop=/{
:z
H
n
/^$/!bz
x
r fichier3.txt
d
}
/path=/{
:a
H
n
/^$/!ba
x
r fichier4.txt
d
}
'
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
24 avril 2010 à 10:35
Explications :

/frop=/
Quand le motif est rencontré

{
On applique toutes les commandes contenues entre les accolades

:z
Étiquette

H
On ajoute le contenu de l'espace de travail (la ligne chargée) dans la mémoire secondaire

n
On charge la ligne suivante (ce qui écrase la précédente)

/^$/!bz
Si elle n'est pas vide, on se branche à l'étiquette (et on recommence)

x
Par contre si la ligne est vide, on échange le contenu des mémoires. On passe la ligne vide dans la mémoire secondaire et on remet les autres dans l'espace de travail
 
r fichier3.txt
On écrit à la suite le contenu du fichier sus-nommé

d
On efface le contenu de l'espace de travail

}
Fin des commandes de la 1ère accolade



Idem pour la seconde partie, seul le nom de l'étiquette change
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
24 avril 2010 à 20:10
salut
j'ai essayé la solution que tu m'as envoyée,alors:

j'ai le fichier toutfiche.txt contenant:

*******************************************toutfiche.txt*******************************************
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"


<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>


<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>
*****************************************************************************

et j'ai les fichiers :
********************fich3.txt*********
NameTrans fn="pfx2dir" frop="cgf/" dir="/rasais/web/docs/cgf
*******************************************

***********************fich4.txt****************************"
<Client urlhost=www.cgf.com">
NameTrans fn="home-page" path="/rasais/web/docs/cgf/index.php"
<Client>
*******************************************************************

lorsque j'ai exécuté le script que tu m'as donné contenant:
*********************************************
sed '/frop=/{
:z
H
n
/^$/!bz
x
r fichier3.txt
d
}
/path=/{
:a
H
n
/^$/!ba
x
r fichier4.txt
d
}
' toutfiche.txt
*****************************************

j'ai eu ce résultat:

************************************************
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.cfg.com">
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"
<Client>

<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>


***********************************************************************************************************

C'est le BON résultat que je veux, maintenant il me reste un problème!!!

fich3.txt et fich4.txt vont changer de contenus a chak fois et moi je veux que leurs contenus soit ajouté au fichier toutfiche.txt à chaque fois que j'exécute le code que tu m'as donné:

j'ai essayé de changé fich3 et fich4 et j'ai mis ceci:
********************fich3.txt*********
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll
*******************************************

***********************fich4.txt****************************"
<Client urlhost=www.ll.com">
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"
<Client>
*******************************************************************

en exécutant le script ,j'ai eu ceci (il ma écrasé la dernière ligne et l'a remplécé par le contenu de fich3.txt et fich4.txt comme suit:

************************************************
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.ll.com">
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"
<Client>

<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>


***********************************************************************************************************
Le résultat que je voulais c'est bien:


************************************************
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="sgp/" dir="/rasais/web/docs/sgp"
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.sgp.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgp/index.php"
<Client>
<Client urlhost=www.ll.com">
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"
<Client>

<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client>


*************************************************************************************************

Peux tu me dire que dois je faire pour avoir le résultat ci-dessus??

je te remercie :)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 avril 2010 à 00:23
Re-


Bizarre en effet, j'ai exactement le même résultat ;-\

Par contre en rajoutant un saut de ligne dans les fichiers fich3 et fich4

$ cat toutfiche.txt 
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.cfg.com">
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"
<Client>

<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client> 

$ cat fich3.txt
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"
 
$ cat fich4.txt
<Client urlhost=www.ll.com">
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"
<Client>
 
$ sed '/frop=/{
:z
H
n
/^$/!bz
x
r fich3.txt
d
}
/path=/{
:a
H
n
/^$/!ba
x
r fich4.txt
d
}
' toutfiche.txt 

NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"
 
<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.cfg.com">
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"
<Client>
<Client urlhost=www.ll.com">
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"
<Client>
 
<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client> 

$


;-\
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
25 avril 2010 à 20:06
salut

j'ai essayé de rajouter les saut de lignes effectivement ça marche.
mais le problème est tjrs prépsent si je modifie les valeurs de fich3.txt et fich4.txt et j'essay de réexécuter à nouveau. ce qui se passe c'est lorsqu'il rajoute le contenu de fich3 il écrase la dernière ligne et il l'a remplace avec le nouveau contenu de fich3.ce que je voulais moi c'est à chaque fois que je change le con tenu de fich3 et fich4 et je réexécute le script,il me rajoute à chaque fois leurs contenu dans toutfiche.txt et non pas exécraser les dernière lignes et les remplacer avec le nouveau contenu de fich3 et fich4..
:)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 avril 2010 à 20:09
Figures-toi qu'après t'avoir envoyé la réponse, c'est ce que j'ai constaté aussi.

J'ai passé une bonne partie de la journée à triturer la syntaxe dans tous les sens sans arriver à un résultat probant ;-(

Je suis désolé mais je n'ai rien d'autre à te proposer, sorry ;-\
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
25 avril 2010 à 20:39
je te remercie quand même pour l'effort fourni pour m'aider :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
26 avril 2010 à 11:48
Re-

Essaie avec ça (il faut une ligne vide à la fin de chaque fichier) :

/frop=/{
:z
N
/\n$/!bz
s/\(.*\)\n$/\1/
r fich3.txt
}
/path=/{
:a
N
/\n$/!ba
s/\(.*\)\n$/\1/
r fich4.txt
}


Normalement ça devrait passer ;-))
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
27 avril 2010 à 17:08
j'ai essayé le code ci-dessus, chez moi ça n'a pas marché, je sais pas si tu l'as déja essayé avec le cas dont on a parlé ou pas.
moi j'ia essayé avec mon cas mais je crois que ça ne marche toujours pas
:)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
27 avril 2010 à 18:46
Oui j'ai testé et chez moi ça marche ;-\

Je me sers de "cat -A" afin d'afficher les caractères de fin de ligne...

jp@jp-kermic:~/trash/rep$ cat -A toutfiche.txt
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"$
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"$
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg$
$
<Client urlhost="www.sgp-centre.com">$
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"$
<Client>$
<Client urlhost="www.pfe.com">$
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"$
<Client>$
<Client urlhost=www.cfg.com">$
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"$
<Client>$
$
<Client urlhost="www.sgp-centre.com">$
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"$
<Client> $

jp@jp-kermic:~/trash/rep$ cat -A fich3.txt 
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"$
$

jp@jp-kermic:~/trash/rep$ cat -A fich4.txt 
<Client urlhost=www.ll.com">$
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"$
<Client>$
$

jp@jp-kermic:~/trash/rep$ sed '/frop=/{
:z
N
/\n *$/!bz
s/\(.*\)\n$/\1/
r fich3.txt
}
/path=/{
:a
N
/\n *$/!ba
s/\(.*\)\n$/\1/
r fich4.txt
}
' toutfiche.txt
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"

<Client urlhost="www.sgp-centre.com">
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"
<Client>
<Client urlhost="www.pfe.com">
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"
<Client>
<Client urlhost=www.cfg.com">
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"
<Client>
<Client urlhost=www.ll.com">
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"
<Client>

<Client urlhost="www.sgp-centre.com">
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"
<Client> 

jp@jp-kermic:~/trash/rep$ sed '/frop=/{
:z
N
/\n *$/!bz
s/\(.*\)\n$/\1/
r fich3.txt
}
/path=/{
:a
N
/\n *$/!ba
s/\(.*\)\n$/\1/
r fich4.txt
}
' toutfiche.txt > out.txt 

jp@jp-kermic:~/trash/rep$ cat -A out.txt
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"$
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"$
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg$
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"$
$
<Client urlhost="www.sgp-centre.com">$
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"$
<Client>$
<Client urlhost="www.pfe.com">$
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"$
<Client>$
<Client urlhost=www.cfg.com">$
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"$
<Client>$
<Client urlhost=www.ll.com">$
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"$
<Client>$
$
<Client urlhost="www.sgp-centre.com">$
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"$
<Client> $

jp@jp-kermic:~/trash/rep$ sed '/frop=/{
:z
N
/\n *$/!bz
s/\(.*\)\n$/\1/
r fich3.txt
}
/path=/{
:a
N
/\n *$/!ba
s/\(.*\)\n$/\1/
r fich4.txt
}
' out.txt  > out2.txt
 
jp@jp-kermic:~/trash/rep$ cat -A out2.txt 
NameTrans fn="pfx2dir" frop="sgpcentre/" dir="/rasais/web/docs/sgpcentre"$
NameTrans fn="pfx2dir" frop="pfe/" dir="/rasais/web/docs/pfe"$
NameTrans fn="pfx2dir" frop="cfg/" dir="/rasais/web/docs/cfg$
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"$
NameTrans fn="pfx2dir" frop="ll/" dir="/rasais/web/docs/ll"$
$
<Client urlhost="www.sgp-centre.com">$
NameTrans fn="home-page" path="/rasais/web/docs/sgpcentre/index.php"$
<Client>$
<Client urlhost="www.pfe.com">$
NameTrans fn="home-page" path="/rasais/web/docs/pfe/index.php"$
<Client>$
<Client urlhost=www.cfg.com">$
NameTrans fn="home-page" path="/rasais/web/docs/cfg/index.php"$
<Client>$
<Client urlhost=www.ll.com">$
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"$
<Client>$
<Client urlhost=www.ll.com">$
NameTrans fn="home-page" path="/rasais/web/docs/ll/index.php"$
<Client>$
$
<Client urlhost="www.sgp-centre.com">$
NameTrans fn="document-root" root="/rasais/web/docs/sgpcentre"$
<Client> $

jp@jp-kermic:~/trash/rep$


Là je ne peux faire mieux ;-\
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
27 avril 2010 à 22:58
c'est bizarre, j'ai appliqué exactement la même chose mais mais il m'efface toujours la dernière ligne.
c'est vraiment étonnant :\
0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
27 avril 2010 à 23:07
bon comme ça ,ça a marché, je vois seulement qu'il faut à chaque fois modifier le fichier de sortie (out.txt,out2.txt....).
avec un seul fichier seulement ça marche toujours pas.
je veux seulement une petite explication sur le code "N
/\n *$/!bz
s/\(.*\)\n$/\1/
"

merci jipicy ;)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
Modifié par jipicy le 28/04/2010 à 18:25
bon comme ça ,ça a marché, je vois seulement qu'il faut à chaque fois modifier le fichier de sortie (out.txt,out2.txt....).
avec un seul fichier seulement ça marche toujours pas.

Normalement avec l'option "-i" (en place) de "sed", tu devrais pouvoir effectuer les changements directement dans le fichier original.
Quelle version de "sed" as-tu ?


je veux seulement une petite explication sur le code
Il y a une erreur, enfin non, mais un truc en trop que j'avais rajouté pour mes tests .
Il faut écrire "/\n$/!bz" et non "/\n *$/!bz"


Explications :
N 
On ajoute la ligne suivante à la suite de celle déjà présente dans l'espace de travail (mémoire principale) 

/\n$/!bz 
Si la ligne dans l'espace de travail ne se termine pas ($) par le caractère fin de ligne (\n), on boucle en se branchant à l'étiquette "z" 

s/\(.*\)\n$/\1/ 
Si la ligne se termine par un caractère fin de ligne, on supprime ce caractère fin de ligne en ne conservant que ce qui se trouve avant, emploi des références arrières, mises en correspondance de ce qui se trouve entre parenthèses et sa référence le "\1"
0