|
|
|
|
Google Site
|
|||||||
| Forums | S'inscrire | Blog | Man Pages | Forum Rules | Liens | Albums | FAQ | Utilisateurs | 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. |
![]() |
|
|
Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|||
|
Filtre en double bloc de texte à l'aide de SED
Salut,
Je voudrais imprimer un bloc de texte entre 2 en utilisant les expressions régulières Sed, Cet objectif peut être atteint en utilisant la commande comme indiqué ci-dessous, mais mon problème est le même bloc de texte est répété deux fois. Je tiens à éliminer le double bloc de texte. Par exemple: Si mon fichier test.txt contient les données suivantes. ********************************************** démarrer test pour le bloc test pour le bloc test pour le bloc Fin Blah Blah Blah Blah Blah Blah démarrer test pour le bloc test pour le bloc test pour le bloc fin ******************* Maintenant, si je l'utilise sed commande à imprimer le texte entre les expressions régulières "start" et "fin" sed -n '/ start /, / fin / p' text.txt>> ouput.txt Je reçois le bloc de texte output.txt deux fois dans le fichier comme indiqué ci-dessous ************************************************** ****************** démarrer test pour le bloc test pour le bloc test pour le bloc fin démarrer test pour le bloc test pour le bloc test pour le bloc fin **************** S'il vous plaît, aidez sur comment puis-je l'impression en double filtre. Merci à l'avance Deepak |
| Liens Sponsorisés |
|
|
|
|||
|
J'aimerais piggy-back sur ce poste et demander, comment puis-je lire tout le "start" et "fin" pour que "start" et "fin" ne sont pas inclus dans l'extraction?
Je reconnais que je peux utiliser des mots différents, mais je veux garder "start" et "fin" dans mon dossier. La raison en est que j'ai créé une page d'aide pour un script que j'ai écrit. Lorsque l'option-h est utilisé, il saisit le texte du fichier. Il serait utile d'avoir tous mes pages d'aide commencent avec "start" et la fin de "fin". Mais je ne veux pas que ces mots à l'affichage sur l'écran. Merci. |
|
|||
|
Ou une autre idée: Code:
awk '/^start$/ { while (getline && $0 !~ /^end$/) print }' inputfile |
| Liens Sponsorisés |
|
|
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Filtre texte | Danois Shakil | De programmation et de script Shell | 3 | 07-31-2008 05:58 AM |
| Suppression des doublons de texte | dejavu88 | De programmation et de script Shell | 7 | 06-08-2008 05:37 PM |
| Filtrer les données de fichier texte | b_sri | Windows et DOS: Questions & Discussions | 18 | 04-16-2008 11:41 AM |
| Suppression de bloc de texte dans le fichier | andre123 | De programmation et de script Shell | 1 | 02-27-2007 01:17 PM |
| l'aide de sed (?) pour supprimer un bloc de texte | toast | De programmation et de script Shell | 3 | 10-23-2005 02:30 AM |