redirection d'un bloc de lignes

Le
Tahar
--0-1022697884-1207820083=:87469
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

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 en=
semble de commandes qui permettent de sortir un bloc de n lignes qui contie=
nnent une expression recherché par exemple j'ai un fichier de 100=
0 ligne et chaque bloc correspond à 5 lignes donc j'ai 200 blocs, et d=
ans ces 200 blocs certains d'entre eux contiennent un mot clé que je s=
ouhaite rechercher et si ce mot clé est trouvé je copie tout le b=
loc dans un autre fichier ainsi j'aurai un second fichier organisé de =
la même manière que le premier mais contenant uniquement les bloc=
s avec le mot clé recherché. Merci pour votre aide
--0-1022697884-1207820083=:87469
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></he=
ad><body><div style="font-family:times new roman, new york, times, serif;=
font-size:12pt"><div>Bonjour à tous,<br><br>Désolé de vous e=
nnuyer 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 d=
e n lignes qui contiennent une expression recherché<br><br>par exemple=
j'ai un fichier de 1000 ligne et chaque bloc correspond à 5 lignes do=
nc j'ai 200 blocs, et dans ces 200 blocs certains d'entre eux contiennent u=
n 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 cont=
enant uniquement les blocs avec le mot clé recherché.<br><br>Merc=
i pour votre aide<br></div></div></body></html>
--0-1022697884-1207820083=:87469--

--
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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thibaut Paumard
Le #9689871
--Apple-Mail-1--267636201
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=ISO-8859-1;
delsp=yes;
format=flowed


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.


--Apple-Mail-1--267636201
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=ISO-8859-1

<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
--Apple-Mail-1--267636201--

--
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
with a subject of "unsubscribe". Trouble? Contact
Yves Rutschle
Le #9689851
On Thu, Apr 10, 2008 at 09:34:43AM +0000, 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
with a subject of "unsubscribe". Trouble? Contact
Edi Stojicevic
Le #9689821
* 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,



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
with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
Le #9689811
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
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme