Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/09/2019, à 11:29

manue7569

probleme fichier sortie d'un "join"

Bonjour,
J'ai une question vraiment bête mais je n'arrive pas à trouver la solution.

J'essaye de "joindre" deux fichiers (qui ont été triés au préalable).

Je fais la commande ci dessous (mon séparateur est une virgule et je veux que la "jointure" se fasse sur la 1ere colonne)
join -t, -1 1 -2 1 sort_Sou1 sort_Sou2 > test

Je n'ai aucun message d'erreur et j'obtiens un fichier test comme ça :

ENSMUST00000000221,58
,0
ENSMUST00000000228,53
,585
ENSMUST00000000253,6
,0
ENSMUST00000000254,0
,9
ENSMUST00000000260,1632
,1447
ENSMUST00000000266,796
,916
ENSMUST00000000275,0
,0

au lieu d'avoir un truc comme ca
ENSMUST00000000221,58,0
ENSMUST00000000228,53,585
ENSMUST00000000253,6,0
ENSMUST00000000254,0,9
ENSMUST00000000260,1632,1447
ENSMUST00000000266,796,916
ENSMUST00000000275,0,0

je n'ai pourtant pas l'impression qu'il y a des retours à la ligne cachés.... mais peut etre que si sauf que je ne les vois pas. Je ne comprends pas d'où vient le probleme mise à part ça.
Si quelqu'un à une idée, ça m'aiderait grandement !!

merci d'avance !!

Hors ligne

#2 Le 13/09/2019, à 11:43

Postmortem

Re : probleme fichier sortie d'un "join"

Salut,
Que donne :

cat -A sort_Sou1
cat -A sort_Sou2

?


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 13/09/2019, à 12:39

manue7569

Re : probleme fichier sortie d'un "join"

Chaque ligne des deux fichiers se termine avec

^M$

Est-ce que c'est le caractere caché qui me pose probleme ?

Hors ligne

#4 Le 13/09/2019, à 12:54

manue7569

Re : probleme fichier sortie d'un "join"

Pour tester j'ai enlevé le caractère avec un sed sur les deux fichiers

sed 's/^M$//' sort_Sou2 > sort_Sou2bis

mais le join donne toujours le même résultat....:/

Hors ligne

#5 Le 13/09/2019, à 14:00

Postmortem

Re : probleme fichier sortie d'un "join"

Fais ton sed comme ça, ça devrait fonctionner pour supprimer les « ^M » :

sed 's/\r$//' sort_Sou2 > sort_Sou2bis

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#6 Le 13/09/2019, à 14:11

Postmortem

Re : probleme fichier sortie d'un "join"

manue7569 a écrit :

Chaque ligne des deux fichiers se termine avec

^M$

Est-ce que c'est le caractere caché qui me pose probleme ?

C'est le fin de ligne à la mode windows.
Fin de ligne windows : \r\n (\r, c'est ^M)
Fin de ligne linux : \n


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#7 Le 13/09/2019, à 14:28

manue7569

Re : probleme fichier sortie d'un "join"

Formidable ! Ca marche parfaitement. Merci beaucoup !!!

Ce qui est fou, c'est que les fichiers en question ont été générés sous linux. Je m'explique mal comment j'ai pu me retrouver avec des fins de lignes windows....
En tout cas, je vais précieusement garder ta ligne de commande !

Hors ligne