Re: [HS] sed : garder le motif

2009-01-28 Par sujet Pierre Meurisse
On Wed, Jan 28, 2009 at 08:55:48AM +0100, steve wrote:
 
   sed -e 's/^[A-Z][A-Z][A-Z]//' input_file
   
   et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
   plus, donc exactement le contraire de ce que je veux.
   
   Comment lui dire de ne m'afficher *que* le motif cherché ?
   
  S'il s'agit bien d'un seul fichier, il y a une méthode simple en deux
  temps :
  - editer le fichier disons fich.txt avec vi et supprimer tout ce qui
dépasse le troisième caractère (Ctrl-V).
  - grep -E [A-Z][A-Z][A-Z] fich.txt  fichmodif.txt
 
 Je ne comprends la seconde étape (ni la première d'ailleurs, il faut le
 faire manuellement ?) si la première fait le travail.
 
Je détaille :
- éditer le fichier avec vi et sélectionner en mode colonne tout ce qui
  dépasse le troisième caractère en utilisant la commande Ctrl-V ;
  il faudra éventuellement allonger la dernière ligne de manière à
  pouvoir tout sélectionner d'un seul coup. Supprimer avec la commande d
  puis sauvegarder.

Si le ficher d'origine était :

ABCqsd
DEFqsdf
qsddfqqsd
XYZ
FGHqdfq
tXY

il devient :

ABC
DEF
qsd
XYZ
FGH
tXY

Reste à éliminer les lignes contenant des minuscules:

grep -E [A-Z][A-Z][A-Z] fich.txt  fichmodif.txt

et on récupère le résultat dans fichmodif.txt.

ABC
DEF
XYZ
FGH

C'est bien cela que tu voulais ?

Naturellement, à la place de vi, on peut utiliser un autre éditeur de
textes qui accepte les sélections en colonne.

A+

-- 
Pierre Meurisse

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet Jean-Luc Villoué
Allez, à mon tour ;)

2009/1/27 steve dl...@bluewin.ch:
 Bonjour et pardon pour ce HS.

 J'ai un long fichier de la forme

 ABC(du texte)
 MSD(un autre texte)
 etc...


 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :

 ABC
 MSD
 etc...

on peut mixer les solutions de Gilles et de Pierre :
grep -E ^[A-Z][A-Z][A-Z] fich.txt | cut -c 1-3  fichmodif.txt

jluc

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet steve
sed -e 's/^[A-Z][A-Z][A-Z]//' input_file

et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
plus, donc exactement le contraire de ce que je veux.

Comment lui dire de ne m'afficher *que* le motif cherché ?

   S'il s'agit bien d'un seul fichier, il y a une méthode simple en deux
   temps :
   - editer le fichier disons fich.txt avec vi et supprimer tout ce qui
 dépasse le troisième caractère (Ctrl-V).
   - grep -E [A-Z][A-Z][A-Z] fich.txt  fichmodif.txt
  
  Je ne comprends la seconde étape (ni la première d'ailleurs, il faut le
  faire manuellement ?) si la première fait le travail.
  
 Je détaille :

merci.

 - éditer le fichier avec vi et sélectionner en mode colonne tout ce qui
   dépasse le troisième caractère en utilisant la commande Ctrl-V ;

Je ne connaissais pas cette sélection en mode bloc, je vois mieux
maintenant de quoi il s'agit. Pour info, c'est bien v majuscule.

   il faudra éventuellement allonger la dernière ligne de manière à
   pouvoir tout sélectionner d'un seul coup. Supprimer avec la commande d
   puis sauvegarder.

ok, c'est effectivement assez simple ainsi.

 Si le ficher d'origine était :
 
 ABCqsd
 DEFqsdf
 qsddfqqsd
 XYZ
 FGHqdfq
 tXY
 
 il devient :
 
 ABC
 DEF
 qsd
 XYZ
 FGH
 tXY

ok.

 Reste à éliminer les lignes contenant des minuscules:

C'est cette seconde phase que je n'avais pas compris et pour cause, les
trois premières lettres sont toujours en majuscules.

 grep -E [A-Z][A-Z][A-Z] fich.txt  fichmodif.txt

ok.

 et on récupère le résultat dans fichmodif.txt.
 
 ABC
 DEF
 XYZ
 FGH
 
 C'est bien cela que tu voulais ?

Absolument, merci d'ailleurs.

 Naturellement, à la place de vi, on peut utiliser un autre éditeur de
 textes qui accepte les sélections en colonne.

Ou encore éditer le fichier dans un tableur est utilisé une fonction
substr(), mais je ne voulais pas le faire comme ça, je voulais utiliser
sed.

Merci pour ton explication.

Excellente journée,
Steve

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet Pierre Meurisse
 
 Merci pour ton explication.
 
De rien.
Cela m'a permis de découvrir cut, que je n'ai pas l'habitude d'utiliser.
Il faut dire que le man de cut n'est pas des plus clairs :

   -c, --characters=LIST
  select only these characters

La solution de Jean-Luc est nettement meilleure :

 grep -E ^[A-Z][A-Z][A-Z] fich.txt | cut -c 1-3  fichmodif.txt


Merci à lui.

Excellente journée.

-- 
Pierre Meurisse

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet Jean-Luc Villoué
2009/1/28 steve dl...@bluewin.ch:
 c'est quand même plus long que les solutions basées sur sed,
j'ai encore du mal avec sed, mais promis, je vais m'y mettre ;)


 Merci à lui.

 Oui merci Jean-Luc !

de rien, après tout, je me suis contenté de reprendre des solutions
déjà dnnées...

jluc

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet steve
  Merci pour ton explication.
  
 De rien.
 Cela m'a permis de découvrir cut, que je n'ai pas l'habitude d'utiliser.
 Il faut dire que le man de cut n'est pas des plus clairs :

J'avais aussi pensé à cut mais comme toi j'ai trouvé le man pour le
moins lacunaire, ce qui m'a finalement orienté vers sed.

 
-c, --characters=LIST
   select only these characters
 
 La solution de Jean-Luc est nettement meilleure :
 
  grep -E ^[A-Z][A-Z][A-Z] fich.txt | cut -c 1-3  fichmodif.txt

c'est quand même plus long que les solutions basées sur sed, m'enfin on
s'en tape de savoir qui a la plus courte hein ;-)

 
 Merci à lui.

Oui merci Jean-Luc !

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet steve
  c'est quand même plus long que les solutions basées sur sed,
 j'ai encore du mal avec sed, mais promis, je vais m'y mettre ;)

Moi aussi je me dis ça à chaque fois que j'en ai besoin ;
malheureusement c'est très rare ce qui fait que j'oublie les 3/4 de ce
que j'avais appris..

 
 
  Merci à lui.
 
  Oui merci Jean-Luc !
 
 de rien, après tout, je me suis contenté de reprendre des solutions
 déjà dnnées...

C'est vrai ça, tu n'es qu'un chapardeur de solutions ;-)

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-28 Par sujet Jacques L'helgoualc'h
steve a écrit, mercredi 28 janvier 2009, à 11:24 :
[...]
   grep -E ^[A-Z][A-Z][A-Z] fich.txt | cut -c 1-3  fichmodif.txt
 
 c'est quand même plus long que les solutions basées sur sed, m'enfin on
 s'en tape de savoir qui a la plus courte hein ;-)

 sed -nre '# quand la ligne commence bien,
/^[A-Z]{3}/{
# on insère une césure si besoin
s/./\n/4
# et on écrit seulement la première partie
P
}'

Avec Awk, c'est peut-être plus lisible :

 awk -F '' '/^[A-Z][A-Z][A-Z]/{print $1$2$3}'

Sed fournit la solution la plus légère, et qui marche même avant le
montage d'un /usr.

32K /usr/bin/cut
56K /bin/sed
104K/bin/grep
116K/usr/bin/mawk
336K/usr/bin/gawk

-- 
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 debian-user-french-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



[HS] sed : garder le motif

2009-01-27 Par sujet steve
Bonjour et pardon pour ce HS.

J'ai un long fichier de la forme

ABC(du texte)
MSD(un autre texte)
etc...


J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
les 3 premiers caractères :

ABC
MSD
etc...


Sed devrait faire l'affaire non ?

J'ai essayé (entre autres)

sed -e 's/^[A-Z][A-Z][A-Z]//' input_file

et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
plus, donc exactement le contraire de ce que je veux.

Comment lui dire de ne m'afficher *que* le motif cherché ?

Merci d'avance,
Steve

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet Kevin Hinault
Le 27 janvier 2009 15:26, steve dl...@bluewin.ch a écrit :
 Bonjour et pardon pour ce HS.

 J'ai un long fichier de la forme

 ABC(du texte)
 MSD(un autre texte)
 etc...


 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :

 ABC
 MSD
 etc...


 Sed devrait faire l'affaire non ?

 J'ai essayé (entre autres)

 sed -e 's/^[A-Z][A-Z][A-Z]//' input_file

 et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
 plus, donc exactement le contraire de ce que je veux.

 Comment lui dire de ne m'afficher *que* le motif cherché ?


sed -e 's/^\([A-Z][A-Z][A-Z]\).*/\1/' input_file

et encore mieux :

sed -e 's/^\([A-Z]\{3\}\).*/\1/' input_file

:)

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet Yannick Fouquet

Bonjour,

steve a écrit :

J'ai un long fichier de la forme
ABC(du texte)
MSD(un autre texte)
etc...
J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
les 3 premiers caractères :
ABC
MSD
etc...
Sed devrait faire l'affaire non ?


a priori awk ou perl aussi mais let's try with sed


J'ai essayé (entre autres)
sed -e 's/^[A-Z][A-Z][A-Z]//' input_file

et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
plus, donc exactement le contraire de ce que je veux.

Comment lui dire de ne m'afficher *que* le motif cherché ?


La formule que j'écrirais est plutôt de la forme :
sed -e 's/^\(...\).*$/\1/' input_file


Les 3 premiers '.' (n'importe quel caractère) peuvent être remplacés 
chacun par un [A-Z] si besoin (n'importe quelle lettre de A à Z).
Le dernier '.' suivi de '*' correspondent à n'importe quelle suite de 
caractères jusqu'à la fin. Les parenthèses sont là pour grouper les 3 
premiers caractères. On les réécrit avec le \1.


Testé approuvé ;-)

Yannick.

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet Daniel Caillibaud

steve a écrit :

Bonjour et pardon pour ce HS.


Tu peux essayer la liste shellscript pour ça ;-) 
(http://debianworld.org/shellscript-fr)


J'ai un long fichier de la forme

ABC(du texte)
MSD(un autre texte)
etc...

J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
les 3 premiers caractères :

ABC
MSD
etc...

Sed devrait faire l'affaire non ?


Oui.
Pour ajouter à ce qu'on dit les autres, on peut utiliser l'option -r pour avoir 
les regex étendue et ne plus avoir besoin d'échapper les () et {}.

Ensuite, si tu veux ne pas afficher les lignes qui ne correspondent pas au 
pattern

$ echo 'ABCbla bla
DEFblabla
GhIblabla'|sed -rne 's/^([A-Z]{3}).*$/\1/p'
ABC
DEF

le -n, c'est pour ne pas afficher les lignes par défaut, d'où le besoin de préciser le p à la fin de l'expression (on décide un print explicite). Si 
tu veux la ligne qui ne correspond pas au pattern, c'est

$ echo 'ABCbla bla
DEFblabla
GhIblabla'|sed -re 's/^([A-Z]{3}).*$/\1/'
ABC
DEF
GhIblabla

--
Daniel

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet steve
Salut et merci pour vos réponses.

 steve a écrit :
 Bonjour et pardon pour ce HS.

 Tu peux essayer la liste shellscript pour ça ;-) 
 (http://debianworld.org/shellscript-fr)

Oui, et en plus j'y suis inscrit ...

 J'ai un long fichier de la forme

 ABC(du texte)
 MSD(un autre texte)
 etc...

 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :

 ABC
 MSD
 etc...

 Sed devrait faire l'affaire non ?

 Oui.
 Pour ajouter à ce qu'on dit les autres, on peut utiliser l'option -r pour 
 avoir les regex étendue et ne plus avoir besoin d'échapper les () et {}.

 Ensuite, si tu veux ne pas afficher les lignes qui ne correspondent pas au 
 pattern

 $ echo 'ABCbla bla
 DEFblabla
 GhIblabla'|sed -rne 's/^([A-Z]{3}).*$/\1/p'
 ABC
 DEF

Chez moi, rien ne s'affiche : 
$ cat file.csv |  sed -rne 's/^([A-Z]{3}).*$/\1/'
$

et pourtant le fichier commence par

ABC(ABCYMO)
BAR(BARDO)



 le -n, c'est pour ne pas afficher les lignes par défaut, d'où le besoin 
 de préciser le p à la fin de l'expression (on décide un print explicite). 

 Si tu veux la ligne qui ne correspond pas au pattern, c'est
 $ echo 'ABCbla bla
 DEFblabla
 GhIblabla'|sed -re 's/^([A-Z]{3}).*$/\1/'
 ABC
 DEF
 GhIblabla

Par contre sans le n le résultat attendu s'affiche.

Merci.

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet Gilles Mocellin
On Tue, Jan 27, 2009 at 03:26:03PM +0100, steve wrote:
 Bonjour et pardon pour ce HS.
 
 J'ai un long fichier de la forme
 
 ABC(du texte)
 MSD(un autre texte)
 etc...
 
 
 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :
 
 ABC
 MSD
 etc...
 
 
 Sed devrait faire l'affaire non ?
 
 J'ai essayé (entre autres)
 
 sed -e 's/^[A-Z][A-Z][A-Z]//' input_file
 
 et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
 plus, donc exactement le contraire de ce que je veux.

J'ai vu le autres propositions en sed, mais il y a une commande bien plus 
simple pour ça : cut.
gil...@eeepc:~$ cat essai
ABCtruc
DEFchose
AZE
ERZrg
gil...@eeepc:~$ cut -c 1-3 essai
ABC
DEF
AZE
ERZ



signature.asc
Description: Digital signature


Re: [HS] sed : garder le motif

2009-01-27 Par sujet Kevin Hinault
2009/1/27 Gilles Mocellin gilles.mocel...@free.fr:

 J'ai vu le autres propositions en sed, mais il y a une commande bien plus 
 simple pour ça : cut.
 gil...@eeepc:~$ cut -c 1-3 essai
 ABC
 DEF
 AZE

Troll
Tu ne respectes pas sa demande qui était de garder seulement les 3
premiers caractères dans les lignes commençant par trois lettres
majuscule entre A et Z.
:)
/Troll

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet Gilles Mocellin
Le Tuesday 27 January 2009 23:21:12 Kevin Hinault, vous avez écrit :
 2009/1/27 Gilles Mocellin gilles.mocel...@free.fr:
  J'ai vu le autres propositions en sed, mais il y a une commande bien plus
  simple pour ça : cut. gil...@eeepc:~$ cut -c 1-3 essai
  ABC
  DEF
  AZE

 Troll
 Tu ne respectes pas sa demande qui était de garder seulement les 3
 premiers caractères dans les lignes commençant par trois lettres
 majuscule entre A et Z.

 :)


Mais euh !
M'aurais-je gouré ?

Je re-cite :

 Bonjour et pardon pour ce HS.

 J'ai un long fichier de la forme

 ABC(du texte)
 MSD(un autre texte)
 etc...


 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :

 ABC
 MSD
 etc...

 /Troll


signature.asc
Description: This is a digitally signed message part.


Re: [HS] sed : garder le motif

2009-01-27 Par sujet Kevin Hinault
Le 28 janvier 2009 00:26, Gilles Mocellin gilles.mocel...@free.fr a écrit :
 Mais euh !
 M'aurais-je gouré ?

 Je re-cite :

 Bonjour et pardon pour ce HS.

 J'ai un long fichier de la forme

 ABC(du texte)
 MSD(un autre texte)
 etc...


 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :

 ABC
 MSD
 etc...

 /Troll


Troll
En effet, il y a un doute possible !

Si on ne lit que le début, on pense en effet que l'auteur désire les 3
premiers caractères quelconques.

Si on lit la suite :

 J'ai essayé (entre autres)

 sed -e 's/^[A-Z][A-Z][A-Z]//' input_file

Ce qui prête à croire qu'il désirait seulement des [A-Z].

Promis... demain j'arrête les trolls.
/Troll

--
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet Pierre Meurisse
On Tue, Jan 27, 2009 at 03:26:03PM +0100, steve wrote:
 
 Bonjour et pardon pour ce HS.
 
 J'ai un long fichier de la forme
 
 ABC(du texte)
 MSD(un autre texte)
 etc...
 
 
 J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
 les 3 premiers caractères :
 
 ABC
 MSD
 etc...
 
 
 Sed devrait faire l'affaire non ?
 
 J'ai essayé (entre autres)
 
 sed -e 's/^[A-Z][A-Z][A-Z]//' input_file
 
 et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
 plus, donc exactement le contraire de ce que je veux.
 
 Comment lui dire de ne m'afficher *que* le motif cherché ?
 
S'il s'agit bien d'un seul fichier, il y a une méthode simple en deux
temps :
- editer le fichier disons fich.txt avec vi et supprimer tout ce qui
  dépasse le troisième caractère (Ctrl-V).
- grep -E [A-Z][A-Z][A-Z] fich.txt  fichmodif.txt

A+

-- 
Pierre Meurisse

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet steve
  M'aurais-je gouré ?
 
  Je re-cite :
 
  Bonjour et pardon pour ce HS.
 
  J'ai un long fichier de la forme
 
  ABC(du texte)
  MSD(un autre texte)
  etc...
 
 
  J'aimerai traiter ce fichier de tel manière qu'à la sortie je n'ai que
  les 3 premiers caractères :
 
  ABC
  MSD
  etc...
 
  /Troll
 
 
 Troll
 En effet, il y a un doute possible !
 
 Si on ne lit que le début, on pense en effet que l'auteur désire les 3
 premiers caractères quelconques.
 
 Si on lit la suite :
 
  J'ai essayé (entre autres)
 
  sed -e 's/^[A-Z][A-Z][A-Z]//' input_file
 
 Ce qui prête à croire qu'il désirait seulement des [A-Z].

Ce que l'auteur confirme ;-)

 
 Promis... demain j'arrête les trolls.

Accepté si ça recommence vendredi !

 /Troll

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [HS] sed : garder le motif

2009-01-27 Par sujet steve
  sed -e 's/^[A-Z][A-Z][A-Z]//' input_file
  
  et ça me sort (fort logiquement d'ailleurs) les caractères de rang 4 et
  plus, donc exactement le contraire de ce que je veux.
  
  Comment lui dire de ne m'afficher *que* le motif cherché ?
  
 S'il s'agit bien d'un seul fichier, il y a une méthode simple en deux
 temps :
 - editer le fichier disons fich.txt avec vi et supprimer tout ce qui
   dépasse le troisième caractère (Ctrl-V).
 - grep -E [A-Z][A-Z][A-Z] fich.txt  fichmodif.txt

Je ne comprends la seconde étape (ni la première d'ailleurs, il faut le
faire manuellement ?) si la première fait le travail.

-- 
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-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org