Commande "sed" comparer fichier
myspace302
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour
Dans mon code shell, je dois créer une boucle où je dois recuperer un bloc de donnée specifique d'un fichier
Dans le fichier il ya plusieurs bloc, et je veux recuperer le bloc contenant une chaine de caractere specifique.
Par exemple:
A01 Il est malade
B02 Toto est de retour
C01 Titi joue au foot
A02 Il revise ses cours
A01 Toto reviens ce soir
B01 Eric code en "JAVA"
C02 Marine est revenue
A01 Toto est devenu sage
B02 titi regarde la télé
C01 Il est étudiant
A02 Il revise ses cours
Mon but est de parcourir tout le fichier et sélectionner le bloc contenant la lettre "JAVA", sachant que la 1ere ligne de chaque bloc commence par A1 et la dernière ligne se termine par A02 (il n'y pas d'espace entre les blocs)
Je compte sur vous
Dans mon code shell, je dois créer une boucle où je dois recuperer un bloc de donnée specifique d'un fichier
Dans le fichier il ya plusieurs bloc, et je veux recuperer le bloc contenant une chaine de caractere specifique.
Par exemple:
A01 Il est malade
B02 Toto est de retour
C01 Titi joue au foot
A02 Il revise ses cours
A01 Toto reviens ce soir
B01 Eric code en "JAVA"
C02 Marine est revenue
A01 Toto est devenu sage
B02 titi regarde la télé
C01 Il est étudiant
A02 Il revise ses cours
Mon but est de parcourir tout le fichier et sélectionner le bloc contenant la lettre "JAVA", sachant que la 1ere ligne de chaque bloc commence par A1 et la dernière ligne se termine par A02 (il n'y pas d'espace entre les blocs)
Je compte sur vous
A voir également:
- Commande "sed" comparer fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Invite de commande - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
Et d'aprés vos explication j'ai remplacé le caractére $ par le caractere qui marque la fin du du bloc (A02) en gros ça donne ça
$ sed -n '/A01/{:z;N;/\nA02/! bz;/JAVA/p}' fich
Je ne sais pas si le syntaxe est bon
Normalement ça devrait être bon.