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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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'
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'
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'
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
(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?
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
(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?
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
(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?