OVH Cloud OVH Cloud

[vi]Inversion de mot

2 réponses
Avatar
jeje900ss
Bonjour tout le monde,

J'ai un fichier dont chaque ligne contient 2 mots et j'aimerais inverser
ces 2 mots pour chacune des ces lignes.

exemple :
toto1 tata1
toto2 tata2
toto3 tata3

>

tata1 toto1
tata2 toto2
tata3 toto3

Est ce que c'est possible de faire ça avec vi ?
Du genre inverser le mot 1 trouver par une regexp avec le mot 2 trouver
par une autre regexp.

Question secondaire, quelle différence entre le sustitute de sed et le
substitute de vi ?

merci pour vos réponses

Jérôme

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

2 réponses

Avatar
Arnaud Launay
Le 26 Jul 2005 22:09:17 GMT, jeje900ss écrivit:
toto1 tata1
>
tata1 toto1
Est ce que c'est possible de faire ça avec vi ?



:%s/(.*)s+(.*)/2 1/

?

Arnaud.
--
Perso: http://launay.org/blog/
Consulting: http://www.cusae.com/
Hébergement: http://www.nocworld.com/

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
jeje900ss
Arnaud Launay wrote:
Le 26 Jul 2005 22:09:17 GMT, jeje900ss écrivit:

toto1 tata1
>
tata1 toto1
Est ce que c'est possible de faire ça avec vi ?




:%s/(.*)s+(.*)/2 1/

?




Merci
la commande suivant fonctionne :
:%s/([[:alpha:]]+) ([[:alpha:]]+)/2 1/

En fait ce qui me manquait c'était le 2 1 ;-)

Jérôme

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.