Une façon de le faire :
:s:\(.*//\)\([^/]*\)\(/.*\):\1\2\3 \2:
Explication :
-
:s:
- Utilisation de la substitution
-
\(.*//\)
- Capturer la partie jusqu'à la double barre oblique (groupe 1)
-
\([^/]*\)
- Capturez tout ce qui n'est pas un slash (groupe 2)
-
\(/.*\)
- Capture la première barre oblique simple et tout ce qui la suit (groupe 3)
-
:\1\2\3 \2:
- Sortir les groupes 1, 2 et 3 suivis d'un espace et du groupe 2 à nouveau.
Editar:
Vous pourriez le trier :
:s:\(.*//\)\([^/]*\)\(/.*\):& \2:
L'esperluette produit la chaîne entière qui inclut la ligne entière puisque la regex commence et se termine par .*
. Vous pouvez utiliser \0
au lieu de l'esperluette.