Re: redirection d'un bloc de lignes

2008-04-10 Par sujet Thibaut Paumard


Le 10 avr. 08 à 11:34, Tahar a écrit :


Bonjour à tous,

Désolé de vous ennuyer avec mes problèmes de script, mais je  
voudrais savoir s'il y a une commande ou un ensemble de commandes  
qui permettent de sortir un bloc de n lignes qui contiennent une  
expression recherché


C'est vrai que ce n'est pas très spécifique à Debian, mais bon...


par exemple j'ai un fichier de 1000 ligne et chaque bloc correspond  
à 5 lignes donc j'ai 200 blocs, et dans ces 200 blocs certains  
d'entre eux contiennent un mot clé que je souhaite rechercher et si  
ce mot clé est trouvé je copie tout le bloc dans un autre fichier  
ainsi j'aurai un second fichier organisé de la même manière que le  
premier mais contenant uniquement les blocs avec le mot clé recherché.


grep, options -A et -B, te permet d'afficher un nombre donné de  
lignes avant et après celle qui contient le mot clef.


T.



Re: redirection d'un bloc de lignes

2008-04-10 Par sujet Yves Rutschle
On Thu, Apr 10, 2008 at 09:34:43AM +, Tahar wrote:
 Bonjour à tous,
 
 Désolé de vous ennuyer avec mes problèmes de script

Tu devrais vraiment poser ce genre question sur la liste
shellscript-fr, qui est dédiée à ça.

 par exemple j'ai un fichier de 1000 ligne et chaque bloc
 correspond à 5 lignes donc j'ai 200 blocs, et dans ces 200
 blocs certains d'entre eux contiennent un mot clé que je
 souhaite rechercher et si ce mot clé est trouvé je copie
 tout le bloc dans un autre fichier ainsi j'aurai un second
 fichier organisé de la même manière que le premier mais
 contenant uniquement les blocs avec le mot clé recherché.

Si j'ai bien compris:

split -l 5 mon_fichier sortie
grep -l motcle sortie* | xargs cat  resultat
rm sortie*

Y.

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re : redirection d'un bloc de lignes

2008-04-10 Par sujet djibrilo
Salut,
Sinon il y a la solution perl.
Tu peux toujours nous donner un peu plus de précisions sur ce qui pourrais nous 
aider à identifier un bloc et ensuite si vous ne connaissez pas perl, je 
pourrais vous faire un script adéquat.

Djibril

- Message d'origine 
De : Thibaut Paumard [EMAIL PROTECTED]
À : DEBIAN debian-user-french@lists.debian.org
Envoyé le : Jeudi, 10 Avril 2008, 11h38mn 34s
Objet : Re: redirection d'un bloc de lignes


Le 10 avr. 08 à 11:34, Tahar a écrit :
Bonjour à tous,

Désolé de vous ennuyer avec mes problèmes de script, mais je voudrais savoir 
s'il y a une commande ou un ensemble de commandes qui permettent de sortir un 
bloc de n lignes qui contiennent une expression recherché



C'est vrai que ce n'est pas très spécifique à Debian, mais bon...



par exemple j'ai un fichier de 1000 ligne et chaque bloc correspond à 5 lignes 
donc j'ai 200 blocs, et dans ces 200 blocs certains d'entre eux contiennent un 
mot clé que je souhaite rechercher et si ce mot clé est trouvé je copie tout le 
bloc dans un autre fichier ainsi j'aurai un second fichier organisé de la même 
manière que le premier mais contenant uniquement les blocs avec le mot clé 
recherché.



grep, options -A et -B, te permet d'afficher un nombre donné de lignes avant et 
après celle qui contient le mot clef.


T.








  
_ 
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr

Re : redirection d'un bloc de lignes

2008-04-10 Par sujet Tahar
Merci beaucoup, je ne pensais pas que c'était possible avec grep :) 

 C'est vrai que ce n'est pas très spécifique à Debian, mais bon...

Ce n'est pas spécifique à Debian certes, mais je cherchais une commande UNIX 
commune à toutes les distrib je pense. 

Désolé si ça vous ennuie qu'on pose des question qui concerne le monde 
GNU/Linux en général et pas seulement DEBIAN

Et merci encore


Le 10 avr. 08 à 11:34, Tahar a écrit :
Bonjour à tous,

Désolé de vous ennuyer avec mes problèmes de script, mais je voudrais savoir 
s'il y a une commande ou un ensemble de commandes qui permettent de sortir un 
bloc de n lignes qui contiennent une expression recherché



C'est vrai que ce n'est pas très spécifique à Debian, mais bon...



par exemple j'ai un fichier de 1000 ligne et chaque bloc correspond à 5 lignes 
donc j'ai 200 blocs, et dans ces 200 blocs certains d'entre eux contiennent un 
mot clé que je souhaite rechercher et si ce mot clé est trouvé je copie tout le 
bloc dans un autre fichier ainsi j'aurai un second fichier organisé de la même 
manière que le premier mais contenant uniquement les blocs avec le mot clé 
recherché.



grep, options -A et -B, te permet d'afficher un nombre donné de lignes avant et 
après celle qui contient le mot clef.


T.







Re: redirection d'un bloc de lignes

2008-04-10 Par sujet Jacques L'helgoualc'h
Tahar a écrit, jeudi 10 avril 2008, à 09:34 :
 Bonjour à tous,

bonjour,

 Désolé  de  vous ennuyer  avec  mes  problèmes  de script,  mais  je
 voudrais savoir  s'il y a une  commande ou un  ensemble de commandes
 qui permettent  de sortir  un bloc de  n lignes qui  contiennent une
 expression recherché

 Sed !

Cf. info sed, section « addresses ».

 par exemple j'ai un fichier  de 1000 ligne et chaque bloc correspond
 à  5 lignes  donc j'ai  200 blocs,  et dans  ces 200  blocs certains
 d'entre eux contiennent un mot  clé que je souhaite rechercher et si
 ce mot  clé est trouvé je copie  tout le bloc dans  un autre fichier
 ainsi j'aurai un  second fichier organisé de la  même manière que le
 premier  mais  contenant  uniquement  les  blocs  avec  le  mot  clé
 recherché.

 sed -e '1~5{N;N;N;N;/\mot_clef\/!d}' fichier selection

(GNU Sed --- avec des blocs de longueur /fixe/).

 Merci pour votre aide

de rien,
-- 
Jacques L'helgoualc'h

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: redirection d'un bloc de lignes

2008-04-10 Par sujet Edi Stojicevic
* Jacques L'helgoualc'h [EMAIL PROTECTED] [2008-04-10 14:50:29 +0200] wrote :

 Tahar a écrit, jeudi 10 avril 2008, à 09:34 :
  Bonjour à tous,
 
 bonjour,
 
  Désolé  de  vous ennuyer  avec  mes  problèmes  de script,  mais  je
  voudrais savoir  s'il y a une  commande ou un  ensemble de commandes
  qui permettent  de sortir  un bloc de  n lignes qui  contiennent une
  expression recherché
 
  Sed !
 
 Cf. info sed, section « addresses ».
 
  par exemple j'ai un fichier  de 1000 ligne et chaque bloc correspond
  à  5 lignes  donc j'ai  200 blocs,  et dans  ces 200  blocs certains
  d'entre eux contiennent un mot  clé que je souhaite rechercher et si
  ce mot  clé est trouvé je copie  tout le bloc dans  un autre fichier
  ainsi j'aurai un  second fichier organisé de la  même manière que le
  premier  mais  contenant  uniquement  les  blocs  avec  le  mot  clé
  recherché.
 
  sed -e '1~5{N;N;N;N;/\mot_clef\/!d}' fichier selection
 
 (GNU Sed --- avec des blocs de longueur /fixe/).
 
  Merci pour votre aide
 
 de rien,

Tahar comme je te l'indiquais l'autre jour il y a une liste dediee pour
les shellscripts - http://debianworld.org/shellscript-fr

@+

-- 
. ''`.  (\___/) E d i   S T O J I C E V I C
: :'  : (='.'=) http://www.debianworld.org 
`. `~'  ()_() GPG: 0x1237B032
  `-

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re : redirection d'un bloc de lignes[RESOLU]

2008-04-10 Par sujet Tahar
Merci pour vos propositions, j'ai pu résoudre cela avec la commande grep -A3 
-B2 -w motcle mon fichier  fichier_sortie

Merci beaucoup 

- Message d'origine 
De : Edi Stojicevic [EMAIL PROTECTED]
À : debian-user-french@lists.debian.org
Envoyé le : Jeudi, 10 Avril 2008, 14h58mn 57s
Objet : Re: redirection d'un bloc de lignes

* Jacques L'helgoualc'h [EMAIL PROTECTED] [2008-04-10 14:50:29 +0200] wrote :

 Tahar a écrit, jeudi 10 avril 2008, à 09:34 :
  Bonjour à tous,
 
 bonjour,
 
  Désolé  de  vous ennuyer  avec  mes  problèmes  de script,  mais  je
  voudrais savoir  s'il y a une  commande ou un  ensemble de commandes
  qui permettent  de sortir  un bloc de  n lignes qui  contiennent une
  expression recherché
 
  Sed !
 
 Cf. info sed, section « addresses ».
 
  par exemple j'ai un fichier  de 1000 ligne et chaque bloc correspond
  à  5 lignes  donc j'ai  200 blocs,  et dans  ces 200  blocs certains
  d'entre eux contiennent un mot  clé que je souhaite rechercher et si
  ce mot  clé est trouvé je copie  tout le bloc dans  un autre fichier
  ainsi j'aurai un  second fichier organisé de la  même manière que le
  premier  mais  contenant  uniquement  les  blocs  avec  le  mot  clé
  recherché.
 
  sed -e '1~5{N;N;N;N;/\mot_clef\/!d}' fichier selection
 
 (GNU Sed --- avec des blocs de longueur /fixe/).
 
  Merci pour votre aide
 
 de rien,

Tahar comme je te l'indiquais l'autre jour il y a une liste dediee pour
les shellscripts - http://debianworld.org/shellscript-fr

@+

-- 
. ''`.  (\___/) E d i   S T O J I C E V I C
: :'  : (='.'=) http://www.debianworld.org 
`. `~'  ()_() GPG: 0x1237B032
  `-

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]