#1 Le 13/09/2019, à 10: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, à 10: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, à 11: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, à 11: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, à 13: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, à 13:11
- Postmortem
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 ?
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, à 13: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