Substitution(s) avec Vi

Résolu
Poulpoul -  
 Poulpoul -
Bonjour tout le monde,

un petit souci avec le fichier suivant:

+1 <?xml version="1.0" encoding="UTF-8"?>
+3 <IMAGE>
+4 <NAME>115-1503_IMG.jpg</NAME>
+5 <CAPTION>Image 1</CAPTION>
+6 </IMAGE>
+7 <IMAGE>
+8 <NAME>115-1503_IMG.jpg</NAME>
+9 <CAPTION>Image 2</CAPTION>
+10 </IMAGE>
+11 <IMAGE>
+12 <NAME>115-1503_IMG.jpg</NAME>
+13 <CAPTION>Image 3</CAPTION>
+14 </IMAGE>

ma question est la suivante:
je cherche à copier par exemple 20 fois les lignes 3 à 6 et ce, à la fin du fichier,
pour le moment j'ai essayé en faisant :3,6co$ ( soit une copie des lignes 3, 6 à la fin du fichier)
j'ai essayé en introduisant yy dedans, avec des "marques" => :'a,'b20co'c mais rien n'y fait

je vous remercie par avance pour votre aide

++

Poulpoul
Configuration: AIX 5.3
korn shell

9 réponses

  1. sanko Messages postés 147 Statut Membre 11
     
    alors, je pense qu'on peut faire :

    Tu te place sur la ligne 3, tu fais "y4" ça te copie les lignes, puis tu vas à la fin du fichier...avec $ maybe et tu fais "p", non?

    ++
    0
  2. Poulpoul
     
    non çà ne passe pas,
    ce qui me pose surtout problème ce sont les 20 copies à faire
    je n'arrive qu'à en effectuer une seule, c'est triste ...
    merci pour ton aide, je continue ma recherche
    0
  3. poumiZ
     
    tu te places ligne 3
    4yy (lignes 3 4 5 et 6 en bufffer)
    tu te places derniere ligne fichier et tu fais 20 fois P (shift p) (copie 20 fois du buffer avant le curseur)
    Bonne journée.
    0
  4. sanko Messages postés 147 Statut Membre 11
     
    oui, j'ai dit nawak, 4y et non y4 ... si cela ne marche pas... je ne sais pas alors.

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    alors pourquoi pas
    - se placer sur la ligne 3
    - taper sur la touche 4 (pour quatre lignes)
    - appuyer 2 fois sur la touche d
    - allez sur la dernière ligne (en fait il faut inserer un ligne vide à la fin)
    - 20 fois Ctrl+P

    Perso j'aurai préféré de le faire avec une commande, mais si tu le veux avec Vi
    0
  7. sanko Messages postés 147 Statut Membre 11
     
    si tu fais deux fois d tu supprimes la ligne... Je ne suis pas sur que ce soit ce qu'il veut, non?
    0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    En effet tu as raison

    mais elle est garder dans le buffer
    j'ai oublié une étape :-)) mais c'est vrai que c'est redondant,
    je reste toujours pour une commande que je ne la donne pas puisque je n'ai pas un environnement pour tester.

    - se placer sur la ligne 3
    - taper sur la touche 4 (pour quatre lignes)
    - appuyer 2 fois sur la touche d
    - 1 fois Ctrl+P
    - allez sur la dernière ligne (en fait il faut inserer un ligne vide à la fin)
    - 20 fois Ctrl+P
    0
  9. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    lami20j@debian:~$ cat poulpoul
     +1 <?xml version="1.0" encoding="UTF-8"?>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +7 <IMAGE>
     +8 <NAME>115-1503_IMG.jpg</NAME>
     +9 <CAPTION>Image 2</CAPTION>
     +10 </IMAGE>
     +11 <IMAGE>
     +12 <NAME>115-1503_IMG.jpg</NAME>
     +13 <CAPTION>Image 3</CAPTION>
     +14 </IMAGE>
    lami20j@debian:~$ for i in $(seq 20);do head -5 poulpoul | tail -4;done >> poulpoul_final
    lami20j@debian:~$ cat poulpoul_final >> poulpoul
    
    


    Le résultat
     +1 <?xml version="1.0" encoding="UTF-8"?>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +7 <IMAGE>
     +8 <NAME>115-1503_IMG.jpg</NAME>
     +9 <CAPTION>Image 2</CAPTION>
     +10 </IMAGE>
     +11 <IMAGE>
     +12 <NAME>115-1503_IMG.jpg</NAME>
     +13 <CAPTION>Image 3</CAPTION>
     +14 </IMAGE> 
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
     +3 <IMAGE>
     +4 <NAME>115-1503_IMG.jpg</NAME>
     +5 <CAPTION>Image 1</CAPTION>
     +6 </IMAGE>
    


    0
  10. Poulpoul
     
    coucouille
    çà a l'air pas mal cette histoire,
    cependant je ne comprends pas le "seq" dans la variable, cela correspond à quoi exactement ?
    je suppose que c'est ce qui éxécute la multiplication ....
    merci merci
    ++
    0