Supprimer des lignes avec awk ou sed

Résolu/Fermé
Titi 77 - 6 févr. 2013 à 17:00
baymard Messages postés 29 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 13 août 2013 - 5 août 2013 à 11:41
Bonjour,

Dans un script shell avec awk ou sed (le plus simple) je veux supprimer de la 2ème ligne d'un fichier jusqu'à la ligne qui précède la ligne où est écrit le mot « SOCIETE »

Il y a environ 1500 lignes à supprimer
Merci pour votre aide
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
6 févr. 2013 à 17:06
Salut,

En supposant que ta version de sed accepte l'option "-i" :

sed -i.bak '2,/SOCIETE/{/SOCIETE/b;d}' fichier

0
Merci bcp zipe31, ça fonctionne mieux que bien !!!!!!!!!!!
0
baymard Messages postés 29 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 13 août 2013
21 juin 2013 à 15:31
Salut les gars je suis ravi d'être tombé sur ce tuto en ce moment où j'ai vraiment besoin d'aide.
le tuto marche très bien mais mon problème est le suivant je voudrais garder une partie de texte qui se trouve entre deux je peux dire au milieu du texte principal.
j'ai exploité le code principale et celui-ci marche en deux volet pour avoir le résultat désiré voici en fait ce que je fais:
sed -i.bak '1,/AVU/{/AVU/b,d} test
sed -i.bak '14,/AVU/{/AVU/b,d} test
en comment exécuter ce code si l'on veut découper le texte en plusieurs parties insérées dans un grand texte?par exemple si j'ai un texte comme celui ci:
1 Device Name : ARMP
2 Device Location : Yaounde
3 ATPC Status : Enabled
4 Optimal Uplink RSSI (dBm) : -74
5 Operator ID : 186.190.0
6 Cell ID : 5.6
7 Duplex Mode : TDD
8 DL-UL Ratio (%) : 60-40
9 Chain Number : 1
10 External 1PPS Clock : Enable
11 External 16MHz Clock : Disable

et que je veux récupérer les lignes 3, 5 et 9 par exemple afin d'obtenir comme résultat:

3 ATPC Status : Enabled
5 Operator ID : 186.190.0
9 Chain Number : 1

voilà ma principale préoccupation merci d'avance
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 juin 2013 à 15:35
Salut,

sed -n '3p;5p;9p' fichier
0
baymard Messages postés 29 Date d'inscription vendredi 21 juin 2013 Statut Membre Dernière intervention 13 août 2013
21 juin 2013 à 15:58
excuser moi et si les lignes ne sont pas numérotées comme ceci
Device Name : ARMP
Device Location : Yaounde ATPC Status : Enabled
Optimal Uplink RSSI (dBm) : -74
Operator ID : 186.190.0
Cell ID : 5.6
Duplex Mode : TDD
DL-UL Ratio (%) : 60-40
Chain Number : 1
External 1PPS Clock : Enable
External 16MHz Clock : Disable

et que je veux récupérer les lignes 3, 5 et 9 par exemple afin d'obtenir comme résultat:

ATPC Status : Enabled
Operator ID : 186.190.0
Chain Number : 1

est ce que votre solution marche toujours ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 juin 2013 à 16:00
Oui ;-)

Et puis pour le savoir, y'a qu'à essayer, ça coûte rien ;-)
0