Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2011, 17h02   #1
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Par défaut Formatage d'un fichier

Bonjour à tous,

Je suis en train de formater un fichier qui correspond à ça :

A A C C A A T C T T T T
A A C G A A C C T A T T
A C T C T A G C C T A T
A A C C A A C C T T T A

où pour chaque ligne toutes les lettres sont séparées par une tabulation. Seulement le nombre de ligne et de colonne peut-être variable.

Et je souhaiterai avoir 1 colonne sur 2 un / comme ici :

A/A C/C A/A T/C T/T T/T
A/A C/G A/A C/C T/A T/T
A/C T/C T/A G/C C/T A/T
A/A C/C A/A C/C T/T T/A

j'ai déjà écris cela mais ça ne marche pas :

sed "s/\([ACGT]\)\([ACGT]\)/\1\/\2\\t/g" filename

Pouvez-vous m'aider ???

Cordialement
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 17h38   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Un truc comme ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
$ cat plop
A       A       C       C       A       A       T       C       T       T       T       T
A       A       C       G       A       A       C       C       T       A       T       T
A       C       T       C       T       A       G       C       C       T       A       T
A       A       C       C       A       A       C       C       T       T       T       A

$ sed 's#\([^\t]*\)\(\t\)\([^\t]*\)\(\t\|$\)#\1/\3\4#g' plop
A/A     C/C     A/A     T/C     T/T     T/T
A/A     C/G     A/A     C/C     T/A     T/T
A/C     T/C     T/A     G/C     C/T     A/T
A/A     C/C     A/A     C/C     T/T     T/A
Comme ta mise en forme n'est pas très explicite, il se peut que le résultat final ne soit pas conforme à tes attentes, mais la syntaxe devrait s'adapter facilement...

__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 18h13   #3
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Je suis désolé d'abuser mais lorsque je tape la ligne de commande sed, ça ne fonctionne pas chez moi.... ça me sort exactement la même chose que lorsque je tape "cat plop".
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 18h22   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Quel système ?
Quelle version de sed ?
C'est bien des tabulations entre tes lettres au moins ?

Pour vérifier que c'est bien des tabulations.
Le résultat doit ressembler à ça :

Code :
1
2
3
4
5
$ cat -A plop
A^IA^IC^IC^IA^IA^IT^IC^IT^IT^IT^IT$
A^IA^IC^IG^IA^IA^IC^IC^IT^IA^IT^IT$
A^IC^IT^IC^IT^IA^IG^IC^IC^IT^IA^IT$
A^IA^IC^IC^IA^IA^IC^IC^IT^IT^IT^IA$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 18h36   #5
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Je suis sous Mac OS X 10.6.8.
Je ne connais pas la version de mon sed.
Et lorsque je fais cat -A il me dit cat : illegal option.

Merci de ton aide
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 18h51   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par chandlerbing87 Voir le message
Je suis sous Mac OS X 10.6.8.
Je ne connais pas la version de mon sed.
Essaie avec sed --version
Citation:
Et lorsque je fais cat -A il me dit cat : illegal option.
Essaie avec sed alors sed -n l fichier
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 19h10   #7
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Voila ce que j'obtiens en faisant sed -n l fichier

A\tA\tC\tC\tA\tA\tT\tC\tT\tT\tT\tT$
A\tA\tC\tG\tA\tA\tC\tC\tT\tA\tT\tT$
A\tC\tT\tC\tT\tA\tG\tC\tC\tT\tA\tT$
A\tA\tC\tC\tA\tA\tC\tC\tT\tT\tT\tA$

pour sed --version ça ne marche pas
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 19h19   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
C'est bien des tabulations...

Essaie en remplaçant les "\t" par leur équivalent en hexa "\x09" :

Code :
sed 's#\([^\x09]*\)\(\x09\)\([^\x09]*\)\(\x09\|$\)#\1/\3\4#g'
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 19h28   #9
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
J'abandonne même ça ne marche pas......

Merci beaucoup
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 20h40   #10
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Attends !!! T'en vas pas...

Essaie comme ça :

Code :
sed 's#\([^\t]*\)\(\t\)\([^\t]*\)#\1/\3#g'
Des fois je suis c*n et je me complique la vie
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/07/2011, 21h30   #11
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Merci !!!!
Mais ça ne fonctionne toujours pas.
Il parait que la nuit porte conseil alors je vais re-regarder demain !!!

En tout cas merci beaucoup
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 22h29   #12
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Est-ce qu'un simple sed 's/\t/ /g' fichier substitue bien toutes les tabulations par des espaces ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 22h37   #13
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Citation:
Envoyé par zipe31 Voir le message
Est-ce qu'un simple sed 's/\t/ /g' fichier substitue bien toutes les tabulations par des espaces ?
Non donc mon fichier ne doit pas être bien crée.... Pourtant il n'y a pas 60 façons de le faire
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 22h44   #14
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Je pencherai plus pour la version de sed
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 17h27   #15
Invité de passage
 
Inscription : juin 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 12
Points : 1
Points : 1
Merci ça fonctionne, j'ai testé ça sur un autre serveur et pas de problème mais avec un autre mac j'ai eu le même problème....

En tout cas merci pour tout et en particulier pour ta patience
chandlerbing87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h14.


 
 
 
 
Partenaires

Hébergement Web