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

Répondre à