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 11/10/2017, à 22:25

sokar

Supprimer une ligne après une chaine de caractères donnée

Bonjour,
J'essaye de supprimer une ligne après une chaine de caractères

Exemple:

>ORJ07415.1 uracil-DNA glycosylase [Organism test]
MERLLGETYTDISLIKPQNKPLNKQVHEGIENCNLCKRHQHSKPITGLFNPTSKLAFITLTPMLDSQLHFLNNLKAAMLE
SIIQKVFNYPLKDCSILSLLKCDSNSLNLEEEINACLPHLTWQLDNSAPKVIIVFGEVLPKRLLNLSKEESFGRIVSLKT
>ORJ07417.1 UDP-N-acetylglucosamine 1-carboxyvinyltransferase [Organism test]
MDFLEIVGQVPLKGEVEISGAKNSALPILAATLLSHQEVKIKSLPQVVDIKAMALLLQNLGAELEWLNPHTLQLSAKSLH
HTEATYDLVRKMRASILVLGPLLARFKECLVSLPGGCAIGARPVDLHLKAMQQLGAEIKIEQGYIHAKAPKGLKGNDILF

je veux avoir le résultat suivant :

>ORJ07415.1
MERLLGETYTDISLIKPQNKPLNKQVHEGIENCNLCKRHQHSKPITGLFNPTSKLAFITLTPMLDSQLHFLNNLKAAMLE
SIIQKVFNYPLKDCSILSLLKCDSNSLNLEEEINACLPHLTWQLDNSAPKVIIVFGEVLPKRLLNLSKEESFGRIVSLKT
>ORJ07417.1
MDFLEIVGQVPLKGEVEISGAKNSALPILAATLLSHQEVKIKSLPQVVDIKAMALLLQNLGAELEWLNPHTLQLSAKSLH
HTEATYDLVRKMRASILVLGPLLARFKECLVSLPGGCAIGARPVDLHLKAMQQLGAEIKIEQGYIHAKAPKGLKGNDILF

J'ai essayé la commande suivante mais aucun résultat
sed -nr 's/^.*"(>[A-Z]*[0-9]*\/.\/1)".*$/\1/p' 106_reduced.faa

Merci pour votre aide

Hors ligne

#2 Le 12/10/2017, à 00:42

Watael

Re : Supprimer une ligne après une chaine de caractères donnée

salut,

il faut expliquer un peu quand même !

tu veux
garder le premier "mot" sur la ligne qui commence par le caractère > , ou supprimer ce qui apparaît après le premier blanc ? c'est pareil ! wink

dans ton expression : des caractères alphabétiques, des nombres, un pint, et un 1, il y a des guillemets en trop, la protection d'un slash qui n'existe pas sur la ligne, et la précision d'une fin de ligne inutile.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 12/10/2017, à 06:52

pingouinux

Re : Supprimer une ligne après une chaine de caractères donnée

Bonjour,
Si j'ai bien compris :

sed -r 's/^(>[A-Z]+[0-9]+\.1).*/\1/' 106_reduced.faa

Hors ligne

#4 Le 12/10/2017, à 14:16

sokar

Re : Supprimer une ligne après une chaine de caractères donnée

Bonjour,
Merci beaucoup pour vos réponses. La commande de pingouinux  fait exactement ce que je veux faire; Désolée pour les erreurs que vous avez remarquez sur ma commande. J'ai de la difficulté à comprendre la commande sed et les expressions régulière.
Cordialement

Hors ligne