Scripter sous VI

superdebutant -  
 francoispgp -
Bonjour
comment c'est y qu'on fait pour scripter vi ?

genre effacer les lignes contenant truc
remplacer les mots toto par titi
et enregistrer le ficier ?

j'ai essaye de faire

vi test.txt << EOT
g/truc/d
s/toto/titi
wq
EOT
mais ca merdoie...
donc j'ai du oublier un truc...

5 réponses

  1. francoispgp
     
    tu as oublier les :
    :g/......./commande
    :%s/..../.....
    :x!
    EOT
    0
  2. francoispgp
     
    exemple concret
    linux:/tmp # cat > FICHIER.TEST
    fdsfdsfdsfdsf
    tutu
    fdsfdsfdsfdsf
    dsfdsfdffdsd
    dfsdfdsfdsfsd
    dsfdsfdsfdfds
    toto
    fdsfdsfdsfdsf
    dsfdsfdffdsd
    dfsdfdsfdsfsd
    dsfdsfdsfdfds
    toto
    linux:/tmp # vi FICHIER.TEST << EOT 2>&1 /dev/null
    > :g/tutu/d
    > :s/toto/titi
    > :x
    > EOT
    linux:/tmp # cat FICHIER.TEST
    fdsfdsfdsfdsf
    fdsfdsfdsfdsf
    dsfdsfdffdsd
    dfsdfdsfdsfsd
    dsfdsfdsfdfds
    titi
    fdsfdsfdsfdsf
    dsfdsfdffdsd
    dfsdfdsfdsfsd
    dsfdsfdsfdfds
    titi
    linux:/tmp #

    voila...
    attention je me suis trompe sur le message precedent c'est s/trucaremplacer/trucquileremplace la commande de changement.
    0
  3. superdebutant
     
    si je peux abuser
    quelle est la commande vi pour trier un bloc de lignes ?

    merci
    0
  4. superdebutant
     
    c bon j'ai trouve grace a une doc nome "guide de survie sous vi"

    c'est :5,7! sort
    pour trier les lignes 5,6,7 par exemple
    :10,$! sort
    pour trier de la 10 a la fin
    etc.......
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question