Supprimer une partie d'un fichier [Résolu][SH-Sed] - Shell/Batch - Programmation
Marsh Posté le 15-10-2007 à 17:42:32
hum tu as essayé de substitute
Balise2
ligne à virer
une autre ligne à virer
Balise3
par
Balise2\nBalise3 ?
Marsh Posté le 16-10-2007 à 09:19:07
Euh, je vais t'avouer que je ne comprends pas trop ce que tu veux faire.
Tu parles de ça ?
sed 's/Balise2\nBalise3//' ? (cela ne marche pas)
Marsh Posté le 16-10-2007 à 09:41:42
remplacer
Balise2
ligne à virer
une autre ligne à virer
Balise3
par
Balise2
Balise3
Marsh Posté le 16-10-2007 à 10:44:21
Bon, j'ai trouvé ça :
sed '/Balise2/,/Balise3/{ /Balise2/b;/Balise3/b; s/.*//; }' essai.txt
Cependant, ça remplace mes lignes a effacer par des lignes vides (il reste les LF quoi). Mais je dois avouer que je ne comprends pas vraiment ce que fait exactement cette commande.
/Balise2/,/Balise3/ : bon, ok, on borne une zone
s/.*// : on remplace tous les caractères par "rien".
Mais pour le reste
Marsh Posté le 17-10-2007 à 18:50:21
sed -n '1,/Balise2/p;/Balise3/,$p' bla |
Marsh Posté le 18-10-2007 à 00:34:31
Ah ouais
Merci !
Punaise, faut vraiment que je me trouve une bonne doc sur sed moi
Marsh Posté le 08-09-2008 à 14:47:17
dans le meme genre, j'ai un pbm équivalent :
toto |
je voudrais virer tout entre "voiture rouge" et "camion vert" (y compris ces 4 mots, mais pas le point-virgule de la fin (c'est la que je seche)), pour avoir ca :
toto |
J'ai bêtement essayé la suppression de lignes :
sed "/voiture rouge/,/camion vert/d" in.txt >out.txt
mais évidemment ca me supprime le point-virgule, puisque sur la meme ligne...
si quelqu'un a la solution, je suis preneur
merci
Marsh Posté le 12-10-2007 à 15:06:34
Salut
La réponse est certainement triviale, mais je n'arrive pas à la trouver :
J'ai un fichier "bla" :
Je souhaite virer ce qu'il y a entre Balise2 et Balise3 (Balise2 et Balise3 non comprises), et ce avec un Sed.
C'est bien joli, mais ça me vire les lignes contenant Balise2 et Balise3 :
J'ai réussi en "trichant" :
mais il est certainement possible de faire ça en une seule ligne, nan ?
Si quelqu'un pouvait m'éclairer, et satisfaire ma curiosité, ce serait vraiment sympatoche !
Message édité par Sub-N le 25-10-2007 à 14:19:07