Suppression d'un bloc de lignes recurssif
Résolu/Fermé
A voir également:
- Suppression d'un bloc de lignes recurssif
- Forcer la suppression d'un fichier - Guide
- Suppression page word - Guide
- Site de vente en ligne particulier - Guide
- Suppression compte instagram - Guide
- Bloc note gratuit - Télécharger - Agendas & Calendriers
7 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
2 févr. 2009 à 19:08
2 févr. 2009 à 19:08
Salut,
Avec un truc du genre :
Avec un truc du genre :
sed '57~57 s/.*/DEBUT&/; 69~57 s/.*/FIN&/' fichier | sed '/DEBUT/,/FIN/d'C'est pas très académique, mais ça marche ;-))
bonjour jipicy
ben ca ne marche pas, mon but est de supprimer les lignes de 57 à 69 d'un bloc de 72 lignes dans un fichier de presque 1000000 de lignes
alors je cherche un truc du genre boucle "for / sed / i,j incremental de 57 ".
merci
ben ca ne marche pas, mon but est de supprimer les lignes de 57 à 69 d'un bloc de 72 lignes dans un fichier de presque 1000000 de lignes
alors je cherche un truc du genre boucle "for / sed / i,j incremental de 57 ".
merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
3 févr. 2009 à 09:06
3 févr. 2009 à 09:06
Bon on va essayer avec un exemple.
Soit un fichier de 50 lignes. Supprimer les lignes 4 à 6 d'un bloc de 12 lignes :
Soit un fichier de 50 lignes. Supprimer les lignes 4 à 6 d'un bloc de 12 lignes :
jp@MDK:~/tmpfs ssh$ cat fich 1debut bloc 2 3 4a supprimer 5a supprimer 6a supprimer 7 8 9 10 11 12fin bloc 13debut bloc 14 15 16a supprimer 17a supprimer 18a supprimer 19 20 21 22 23 24fin bloc 25debut bloc 26 27 28a supprimer 29a supprimer 30a supprimer 31 32 33 34 35 36fin bloc 37debut bloc 38 39 40a supprimer 41a supprimer 42a supprimer 43 44 45 46 47 48fin bloc 49debut bloc 50 jp@MDK:~/tmpfs ssh$ sed '4~12 s/.*/DEBUT&/;6~12 s/.*/FIN&/' fich | sed '/DEBUT/,/FIN/d' 1debut bloc 2 3 7 8 9 10 11 12fin bloc 13debut bloc 14 15 19 20 21 22 23 24fin bloc 25debut bloc 26 27 31 32 33 34 35 36fin bloc 37debut bloc 38 39 43 44 45 46 47 48fin bloc 49debut bloc 50 jp@MDK:~/tmpfs ssh$Ça le fait, non ?
re
ben je vois bien que ca le fait mais avec mon fichier c'est pas le cas,je travaille sous UNIX je ne sais pas pourquoi ca marche pas
"&/ is not a recognized function."
au faite les lignes a supprimer sont des sauts de lignes '^M' y'en a plein mais je veux seulement supprimer ceux de la ligne 57 à 69
car je peux les supprimer toutes en meme temps mais je veux seulement ceux de la fin cad 'de 57 à 69'
je ne sais pas si tu me comprends ??
merci encore une fois
ben je vois bien que ca le fait mais avec mon fichier c'est pas le cas,je travaille sous UNIX je ne sais pas pourquoi ca marche pas
"&/ is not a recognized function."
au faite les lignes a supprimer sont des sauts de lignes '^M' y'en a plein mais je veux seulement supprimer ceux de la ligne 57 à 69
car je peux les supprimer toutes en meme temps mais je veux seulement ceux de la fin cad 'de 57 à 69'
je ne sais pas si tu me comprends ??
merci encore une fois
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
3 févr. 2009 à 09:25
3 févr. 2009 à 09:25
"&/ is not a recognized function."
Vu que c'est des lignes vides, à ce moment là supprime le "&" de l'expression (s/.*/DEBUT/)...
au faite les lignes a supprimer sont des sauts de lignes '^M' y'en a plein mais je veux seulement supprimer ceux de la ligne 57 à 69
Est-ce que c'est les seules lignes vides consécutives de ton fichier ?
Vu que c'est des lignes vides, à ce moment là supprime le "&" de l'expression (s/.*/DEBUT/)...
au faite les lignes a supprimer sont des sauts de lignes '^M' y'en a plein mais je veux seulement supprimer ceux de la ligne 57 à 69
Est-ce que c'est les seules lignes vides consécutives de ton fichier ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
2 févr. 2009 à 16:42
2 févr. 2009 à 16:42
Bonjour,
avec vi
:57,69d
puis
:114,126d
et enfin
:171,183d
++
Poulpoul
avec vi
:57,69d
puis
:114,126d
et enfin
:171,183d
++
Poulpoul