Supprimer des lignes avec awk ou sed

Résolu
Titi 77 -  
baymard Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   6 431
 
Salut,

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

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

0
titi77
 
Merci bcp zipe31, ça fonctionne mieux que bien !!!!!!!!!!!
0
baymard Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 431
 
Salut,

sed -n '3p;5p;9p' fichier
0
baymard Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 431
 
Oui ;-)

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