je souhaiterais modifier des fichiers au sein d'un script shell.
Pour cela j'utilise vim -s
Mais je suis bloqué lorsque je veux supprimer un nombre de ligne défini par une variable dans le fichier. Par exemple la première ligne de mon fichier contient le nombre 15 alors je supprime 15 lignes.
J'ai essayé yy puis @"dd mais çà ne fonctionne pas.
vim ne m'apparait pas comme la solution la plus pratique pour ce genre de tâches. sed ou alors head+tail rempliront bien mieux cette tâche.
Sinon, il faudrait que tu utilises l'option -c de vim. Pour supprimer les lignes 15 à 20, tu aurais pu faire "vim -c 15,20d -c x nomfichier". Mais bon, quand on compare à "sed 5,11d nomfichier", on voit vite à quel point vim n'est pas le plus adapté pour cela.
Autrement, si ton fichier contient un nombre de lignes puis si tu dois supprimer autant de lignes qu'indiqué (plus la première),
Je suis d'avis avec lmghs. Il faut mieux un bon script shell pour traiter un fichier. ( d'autre expert nous diront que l'on peut le faire en python,perl....)
Je vais en effet recourir plus à des scripts shell.
vim - lecture nombre de lignes à supprimer
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique