SED option -i edit in place sous AIX

Résolu/Fermé
Jules - 7 mars 2008 à 15:15
jaoued zahraoui Messages postés 13 Date d'inscription dimanche 29 février 2004 Statut Membre Dernière intervention 20 novembre 2015 - 20 nov. 2015 à 10:41
Bonjour à tous,

Je n'ai pas trouvé dans le man sed, l'équivalent aix à l'option sed -i de linux

Est-ce qu'il existe un équivalent sous Aix (v3.5) à la commande sed ci-dessous ? (fonctionne sous Linux)

sed -i 's/test/modif/g' test.txt

La commande ci-dessous sous linux fonctionne également :
ed -s toto.txt <<< $',s/toto/tata/g\nw'



Ma solution palliative sous AIX pour l'instant (trouvé sur ce forum ...)
fic=$(cat toto.txt);echo "$fic" | sed 's/toto/tata/g' > toto.txt

je n'ai pas très envie de m'orienter vers une redirection vers un fichier temporaire avant de réécraser le fichier ...

Doc AIX

Merci d'avance

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
7 mars 2008 à 15:21
hello
ceci doit fonctionner
echo '1,$s/toto/tata/g\nw\nq' | ed -s toto.txt
3
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
7 mars 2008 à 15:34
Oups je suis allé un peu vite en pensant que la solution "ed" avec un "here-string" marchait sur AIX ;-[

Une autre solution à la "dubcek" ;-))
ed -s toto.txt <<EOF
1,$s/toto/tata/g
w
EOF
;-))
1
Merci beaucoup, solution parfaite pour moi.

Je regrette de ne pas avoir trouver l'option -i (edit in place) pour le sed sous aix mais cette solution me convient parfaitement.

Encore merci.
0
jaoued zahraoui Messages postés 13 Date d'inscription dimanche 29 février 2004 Statut Membre Dernière intervention 20 novembre 2015 1
20 nov. 2015 à 10:41
you can use perl to do it :

perl -p -i.bak -e 's/old/new/g' test.txt


is going to create a .bak file.

or without .bak file :
perl -pi -e  's/old/new/g' test.txt
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
7 mars 2008 à 15:21
Salut,

Ben à part les 2 exemples que tu cites, je ne vois pas ce que tu peux espérer d'autres ;-\

En plus les 2 solutions ne passent pas par un fichier temporaire !?
0