![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Objets trouvés dans les champs de lignes et d'exploitation | ashis.tewari | De programmation et de script Shell | 3 | 12-04-2008 09:02 AM |
| somme de toutes les lignes correspondantes en utilisant awk | i.scientist | UNIX pour les nuls Questions et réponses | 8 | 08-06-2008 09:13 PM |
| comment supprimer des doublons de lignes dans un fichier | vamshikrishnab | De programmation et de script Shell | 5 | 06-18-2008 11:00 AM |
| Comment faire pour supprimer notamment des lignes à partir d'un fichier | suresh3566 | De programmation et de script Shell | 5 | 06-02-2008 06:07 AM |
| Supprimer les lignes répétées à partir d'un fichier | TONET | De programmation et de script Shell | 8 | 04-08-2008 10:42 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
SED: supprimer ligne correspondante et 4 lignes suivantes?
Salut, Essayé de chercher de solution, et a trouvé quelque chose de similaire mais ne peut pas adapter la solution à mes besoins .. J'essaie de trouver un modèle (dans ce cas "ProcessType") dans un fichier journal, puis supprimez cette ligne et les 4 lignes suivantes. Le fichier journal se présente comme suit: Code:
ProcessType: PROCESS_A (0) <---- delete this SequenceNumber: 8285 <---- delete this <---- delete this 2009 Mar 07 22:04:23:679 0:8285 <---- delete this <---- delete this ProcessType: PROCESS_A (0) SequenceNumber: 8286 2009 Mar 07 22:04:23:679 0:8286 ProcessType: PROCESS_B (68) SequenceNumber: 40689 2009 Mar 07 22:04:23:698 68:40689 DATA that should not be deleted ProcessType: PROCESS_B (68) SequenceNumber: 40690 2009 Mar 07 22:04:23:698 68:40690 DATA that should not be deleted ProcessType: PROCESS_C (93) SequenceNumber: 36235 2009 Mar 07 22:04:23:829 93:36235 ProcessType: PROCESS_C (93) SequenceNumber: 36236 2009 Mar 07 22:04:23:829 93:36236 DATA that should not be deleted J'ai essayé ceci: Code:
sed -e '/\<ProcessType\>/,/$/d' < log.txt > test Mais cela a abouti à ce que: Code:
2009 Mar 07 22:04:23:679 0:8285 2009 Mar 07 22:04:23:679 0:8286 2009 Mar 07 22:04:23:698 68:40689 2009 Mar 07 22:04:23:698 68:40690 2009 Mar 07 22:04:23:829 93:36235 2009 Mar 07 22:04:23:829 93:36236 2009 Mar 07 22:04:23:945 91:89062 2009 Mar 07 22:04:23:945 91:89063 2009 Mar 07 22:04:24:018 91:89064 2009 Mar 07 22:04:24:018 91:89065 2009 Mar 07 22:04:24:018 91:89066 |
|
||||
|
Merci Franklin, n'a pas fonctionné pour moi mais .. Code:
# awk '/ProcessType:/ && !p {i=-4;p=1} i++ > 0' file
awk: syntax error near line 1
awk: bailing out near line 1
Avec nawk il exécute mais ne supprime la première occurrence de ce «bloc» Code:
# nawk '/ProcessType:/ && !p {i=-4;p=1} i++ > 0' file
ProcessType: PROCESS_A (0)
SequenceNumber: 8286
2009 Mar 07 22:04:23:679 0:8286
ProcessType: PROCESS_B (68)
SequenceNumber: 40689
2009 Mar 07 22:04:23:698 68:40689
DATA that should not be deleted
ProcessType: PROCESS_B (68)
SequenceNumber: 40690
...
|
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|