Sed

Résolu
mousekey -  
 mousekey -
Bonjour,
j'aimerai savoir comment je peux faire en sorte que je puisse changer des caractères d'une chaine de caractère avec la fonction sed....

voici ce que je veux faire...

var="txt"

si la chaine est vrai... changer pour txt1...

et retourner cela dans une variable....

merci
mousekey

4 réponses

SKZ
 
Rien compris au problème.

Si tu veux transformer la première occurence de
txt
dans chaque ligne, tu peux faire :
sed "s/txt/txt1/" fichier
0
mousekey
 
Bonjour,
merci de votre réponse..... dsl pour l'incompréhension..
sed s/$var1/$var2/g fichier.txt > fichier1.txt

var1=xyz var2=TOTO

mousekey
merci
0
SKZ
 
Oupsss !!!
Je pensais que var="txt" apparaissait DANS le fichier à modifier.
(NB : bien vu le /g, j'avais zappé celui là).

Pour les prochaines fois : autant se tutoyer, non ?
0
mousekey
 
Bonjour,
pas de problème pour ce tutoyer... tu as msn...

merci
mousekey
0
mousekey
 
Salut,
j'aimerai savoir si tu connais la variable en ksh qui contient la valeur de la dernière commande... genre $Status=0 si la commande c bien exécuter sinon autre chose....

merci

mousekey
0
SKZ
 
??? Je sais qu'on peut utiliser le code de retour, mais la dernière commande, j'en sais rien...
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Sous Unix/Linux c'est $$ (si mes souvenir sont bon) pour le statut de la derniere commande effectuée, mais je doute que tu sois sous Unix/Linux sinon tu aurais posé ta question sur le forum adéquat, tout de meme, on ne sais jamais...

;)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Sous Unix/Linux c'est $$ (si mes souvenir sont bon)
Perdu ;-))
"$$" renvoie le "PID" du shell.
Pour le code retour de la dernière commande, c'est "$?".
0
mousekey > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bonjour,
merci
mousekey
0
mousekey > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bonjour,
j'aimerai savoir comment je peux faire pour lire une ligne dans un fichier avec la commande sed de cette manière : sed -n 2p fichier.txt et mettre le résultat dans un tableau...
i=0
ls > fichier.txt
tab[$i]=`sed -n 2p fichier.txt`
echo ${tab[$i]}

merci
mousekey
0