SED option -i edit in place sous AIX
Résolu
Jules
-
jaoued zahraoui Messages postés 14 Statut Membre -
jaoued zahraoui Messages postés 14 Statut Membre -
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
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
Configuration: AIX V3.5
4 réponses
-
hello
ceci doit fonctionner
echo '1,$s/toto/tata/g\nw\nq' | ed -s toto.txt -
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
;-))
-
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
-
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 !?