Sed
Résolu
guillaume0811
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
guillaume0811 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
guillaume0811 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute en sed et je cherche à modifier la totalité d'une ligne commencant par > :
>XXXXXXXX
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
>YYYYYYYYY
bbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbb
>ZZZZZZZZZ
ccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccc
pour donner :
>XXXXXXX
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tttttttttttttttt
bbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbb
tttttttttttttttt
cccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccc
Je bloque pour modifier la ligne en entier...
Je débute en sed et je cherche à modifier la totalité d'une ligne commencant par > :
>XXXXXXXX
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
>YYYYYYYYY
bbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbb
>ZZZZZZZZZ
ccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccc
pour donner :
>XXXXXXX
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tttttttttttttttt
bbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbb
tttttttttttttttt
cccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccc
Je bloque pour modifier la ligne en entier...
A voir également:
- Sed
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? - Guide
- Sed et ses caprices (ou les miens) ✓ - Forum Linux / Unix
- Sed crlf - Astuces et Solutions
- Sed - Remplacement texte par retour à la ligne ? ✓ - Forum Linux / Unix
- Sed supprimer ligne vide - Forum Linux / Unix
2 réponses
Bonjour,
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...*
A voir aussi
Merci de votre compréhension.
De plus j'ai rien compris à ton histoire ;-((
Modifier une ligne qui commence par ">" par quoi ? Des "ttt" ? Combien ?
Pourquoi la 1ère ligne n'est pas prise en compte ?
;-)
* Bonus
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...*
A voir aussi
Merci de votre compréhension.
De plus j'ai rien compris à ton histoire ;-((
Modifier une ligne qui commence par ">" par quoi ? Des "ttt" ? Combien ?
Pourquoi la 1ère ligne n'est pas prise en compte ?
;-)
* Bonus
Bonjour,
Excusez moi, je vais recommencer ;-)
Voila un exemple de fichier que je dispose :
>sp|Q197F8|002R_IIV3
MASNTVSAQGGSNRPVRDFSNIQDVAQFLLFDPIWNEQPGSIVPWKMNREQALAE
>sp|Q197F7|003L_IIV3
MYQAINPCPQSWYGSPQLEREIVCKMSGAPHYPNYYPVHPNALGGAWFDTSLNARS
>sp|Q197F5|005L_IIV3
MRYTVLIALQGALLLLLLIDDGQGQSPYPYPGMPCNSSRQCGLGTCVHSRCAHCSS
Je souhaiterais modifier les lignes commencants par un ">" par une autre chaine de caractère, on va dire "MCMCMC" à l'exeption de la première ligne.
donc ca donnerait:
>sp|Q197F8|002R_IIV3
MASNTVSAQGGSNRPVRDFSNIQDVAQFLLFDPIWNEQPGSIVPWKMNREQALAE
MCMCMC
MYQAINPCPQSWYGSPQLEREIVCKMSGAPHYPNYYPVHPNALGGAWFDTSLNARS
MCMCMC
MRYTVLIALQGALLLLLLIDDGQGQSPYPYPGMPCNSSRQCGLGTCVHSRCAHCSS
J'ai tenté ceci : sed -e '2,$ s/^>/MCMCMC/g'
mais ceci ne modifie pas la ligne en entier, seulement le ">"
J'espère m'être mieux fait comprendre.
Merci
Excusez moi, je vais recommencer ;-)
Voila un exemple de fichier que je dispose :
>sp|Q197F8|002R_IIV3
MASNTVSAQGGSNRPVRDFSNIQDVAQFLLFDPIWNEQPGSIVPWKMNREQALAE
>sp|Q197F7|003L_IIV3
MYQAINPCPQSWYGSPQLEREIVCKMSGAPHYPNYYPVHPNALGGAWFDTSLNARS
>sp|Q197F5|005L_IIV3
MRYTVLIALQGALLLLLLIDDGQGQSPYPYPGMPCNSSRQCGLGTCVHSRCAHCSS
Je souhaiterais modifier les lignes commencants par un ">" par une autre chaine de caractère, on va dire "MCMCMC" à l'exeption de la première ligne.
donc ca donnerait:
>sp|Q197F8|002R_IIV3
MASNTVSAQGGSNRPVRDFSNIQDVAQFLLFDPIWNEQPGSIVPWKMNREQALAE
MCMCMC
MYQAINPCPQSWYGSPQLEREIVCKMSGAPHYPNYYPVHPNALGGAWFDTSLNARS
MCMCMC
MRYTVLIALQGALLLLLLIDDGQGQSPYPYPGMPCNSSRQCGLGTCVHSRCAHCSS
J'ai tenté ceci : sed -e '2,$ s/^>/MCMCMC/g'
mais ceci ne modifie pas la ligne en entier, seulement le ">"
J'espère m'être mieux fait comprendre.
Merci
Salut,
.* - c'est une très grand histoire qui peu provoquer beaucoup des choses bonnes et/ou mauvaise
. (le point) - c'est une classe de caractère qui peut reconnaître n'importe quel caractère
* (l'étoile) - c'est un quantification qui s'applique au métacaractère précèdent avec la possibilité de reconnaître zéro fois, une fois où n'importe combien des fois le moteur de regex peuvent.
En général sans autre traitement cet motif .* est gourmand et il avale tout jusqu'à la fin de la chaîne.
On peut le stopper d'avaler tout, en l'ancrant au début, à la fin ou au début et à la fin
Sed n'est qu'un outil qui utilise les regex à sa façon. Toutefois si le domaine des regex t'intéresse, en plus de sed qui reste un outil, très puissant mais un outil, tu dois te pencher plutôt sur le petit mini langage des regex.
Ca te permettra de les utiliser avec n'importe quel outil.
Depuis quand j'ai lui le livre https://docstore.mik.ua/orelly/perl4/mre/index.htm à chaque utilisation de PC j'ai tapé au moins une regex.
.* - c'est une très grand histoire qui peu provoquer beaucoup des choses bonnes et/ou mauvaise
. (le point) - c'est une classe de caractère qui peut reconnaître n'importe quel caractère
* (l'étoile) - c'est un quantification qui s'applique au métacaractère précèdent avec la possibilité de reconnaître zéro fois, une fois où n'importe combien des fois le moteur de regex peuvent.
En général sans autre traitement cet motif .* est gourmand et il avale tout jusqu'à la fin de la chaîne.
On peut le stopper d'avaler tout, en l'ancrant au début, à la fin ou au début et à la fin
Sed n'est qu'un outil qui utilise les regex à sa façon. Toutefois si le domaine des regex t'intéresse, en plus de sed qui reste un outil, très puissant mais un outil, tu dois te pencher plutôt sur le petit mini langage des regex.
Ca te permettra de les utiliser avec n'importe quel outil.
Depuis quand j'ai lui le livre https://docstore.mik.ua/orelly/perl4/mre/index.htm à chaque utilisation de PC j'ai tapé au moins une regex.