Rechercher : dans
Par :

SED option -i edit in place sous AIX

Dernière réponse le 7 mar 2008 à 17:15:24 Jules, le 7 mar 2008 à 15:15:46 
 Signaler ce message aux modérateurs

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

Configuration: AIX V3.5

Meilleures réponses pour « SED option i edit in place sous AIX » dans :
Sed - Introduction à SED - Part I Voir SED - The Stream EDitor - Part I Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED" un...
Sed - Insérer un espace entre chaque lettre VoirInsérer un espace entre chaque lettre $ echo -e "bonjour la vie\net bonjour à toi" | sed 's/./& /g' b o n j o u r l a v i e e t b o n j o u r à t o iL'inconvénient c'est que l'espace naturel entre chaque mot est doublé. Pour pallier à...

1

dubcek, le 7 mar 2008 à 15:21:30
  • +3

Hello
ceci doit fonctionner
echo '1,$s/toto/tata/g\nw\nq' | ed -s toto.txt

Répondre à dubcek

2

jipicy, le 7 mar 2008 à 15:21:31

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 !?

Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

3

jipicy, le 7 mar 2008 à 15:34:40
  • +1

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
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

 Jules, le 7 mar 2008 à 17:15:24

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.

Répondre à Jules