OVH Cloud OVH Cloud

sort et espace

2 réponses
Avatar
ADMG
Bonjour,

Je souhaite réaliser un tri sur le nom et les prénoms de personnes dans un
fichire de type csv.
Je rencontre une difficulté avec l'espace. Par exemple, considérons la liste
suivante :
MARTIN;Michel Denis
MARTIN;Michele
MARTIN;Michel Philippe
qui est le résultat de sort -t ';' -k1,1 -k2,2 or j'aurai voulu que le
résultat soit :
MARTIN;Michel Denis
MARTIN;Michel Philippe
MARTIN;Michele

Comment modifier l'ordre ?

Merci

Anthony

2 réponses

Avatar
Antoine Jacoutot
ADMG wrote:
Bonjour,

Je souhaite réaliser un tri sur le nom et les prénoms de personnes dans un
fichire de type csv.
Je rencontre une difficulté avec l'espace. Par exemple, considérons la liste
suivante :
MARTIN;Michel Denis
MARTIN;Michele
MARTIN;Michel Philippe
qui est le résultat de sort -t ';' -k1,1 -k2,2 or j'aurai voulu que le
résultat soit :
MARTIN;Michel Denis
MARTIN;Michel Philippe
MARTIN;Michele

Comment modifier l'ordre ?


Attention, je suis nul en script !!!
Mais un truc dans le genre semble fonctionner:

sed -e 's/ /_/g' fichier.csv | sort | sed -e 's/_/ /g'

Avatar
Pascal Bourguignon
"ADMG" writes:

Bonjour,

Je souhaite réaliser un tri sur le nom et les prénoms de personnes dans un
fichire de type csv.
Je rencontre une difficulté avec l'espace. Par exemple, considérons la liste
suivante :
MARTIN;Michel Denis
MARTIN;Michele
MARTIN;Michel Philippe
qui est le résultat de sort -t ';' -k1,1 -k2,2 or j'aurai voulu que le
résultat soit :
MARTIN;Michel Denis
MARTIN;Michel Philippe
MARTIN;Michele

Comment modifier l'ordre ?


Utiliser:
LC_ALL=C sort -t; -k1,1 -k2,2 <<EOF
MARTIN;Michel Denis
MARTIN;Michele
MARTIN;Michel Philippe
EOF

(ou au moins:
LC_COLLATE=C sort -t; -k1,1 -k2,2 <<EOF
MARTIN;Michel Denis
MARTIN;Michele
MARTIN;Michel Philippe
EOF
)


En Français, il semble que "Michel Philippe" soit après "Michele".
N'importe quoi, je suis bien d'accord. Si vous êtes sur Linux au
moins vous avez l'opportunité de modifier le source du locale, mais
est ce que les non-informaticiens seront d'accord?


--
__Pascal_Bourguignon__
http://www.informatimago.com/