Couper une chaine de caractere
Résolu/Fermé
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
-
6 nov. 2008 à 17:36
jukun62 Messages postés 7 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 8 novembre 2008 - 8 nov. 2008 à 10:44
jukun62 Messages postés 7 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 8 novembre 2008 - 8 nov. 2008 à 10:44
A voir également:
- Couper une chaine de caractere
- Caractère ascii - Guide
- Couper une video - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractère spéciaux mac clavier - Guide
8 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 nov. 2008 à 17:50
6 nov. 2008 à 17:50
Salut,
[tmpfs]$ List="machin bidule truc" [tmpfs]$ echo ${List#* } bidule truc [tmpfs]$ echo ${List% *} machin bidule [tmpfs]$ echo ${List##* } truc [tmpfs]$ echo ${List%% *} machin [tmpfs]$;-))
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 17:58
6 nov. 2008 à 17:58
Il y a des centaines de façons...
en voici une si ta chaine est petite et s'il y a toujours des espaces entre les mots :
set `echo "machin bidule truc"`
Tu fais attention avant echo et à la fin ce sont des accents inversés <AltGr> 7
# echo $1
machin
# echo $2
bidule
# echo $3
truc
et dans $* tu as :
# echo $*
machin bidule truc
Enfin dans $# le nombre de mots :
# echo $#
3
en voici une si ta chaine est petite et s'il y a toujours des espaces entre les mots :
set `echo "machin bidule truc"`
Tu fais attention avant echo et à la fin ce sont des accents inversés <AltGr> 7
# echo $1
machin
# echo $2
bidule
# echo $3
truc
et dans $* tu as :
# echo $*
machin bidule truc
Enfin dans $# le nombre de mots :
# echo $#
3
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 nov. 2008 à 18:07
6 nov. 2008 à 18:07
set machin bidule trucsuffit amplement, le echo ne sert à rien ;-))
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
6 nov. 2008 à 18:14
6 nov. 2008 à 18:14
merci pour les réponses mais je voudrai une méthode qui fonctionne quelque soit le nombre de mots dans la liste et quelque soit la chaine de caractère
exemple
List="un deux trois quatre cinq"
je voudrai pouvoir éxècuter cette méthode quelque soit la chaine de caractère qui sert de délimiteur.
je pourrai par exemple prendre pour délimiteur "trois" ou " deux " ou "deux trois quatre" ou "s qua" ...
j'en ai besoin pour remplacer une partie de la chaine List par une autre chaine de caractère.
je voudrai par exemple obtenir avec List les chaine "un deux truc quatre cinq" ou "un bidule cinq"...
exemple
List="un deux trois quatre cinq"
je voudrai pouvoir éxècuter cette méthode quelque soit la chaine de caractère qui sert de délimiteur.
je pourrai par exemple prendre pour délimiteur "trois" ou " deux " ou "deux trois quatre" ou "s qua" ...
j'en ai besoin pour remplacer une partie de la chaine List par une autre chaine de caractère.
je voudrai par exemple obtenir avec List les chaine "un deux truc quatre cinq" ou "un bidule cinq"...
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 18:11
6 nov. 2008 à 18:11
Oui c'est pour le cas où il a sa chaine dans une variable...
# TOTO="machin bidule truc"
# set `echo $TOTO`
# echo $1
machin
A moins qu'il y ait là aussi une autre solution ....
# TOTO="machin bidule truc"
# set `echo $TOTO`
# echo $1
machin
A moins qu'il y ait là aussi une autre solution ....
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 nov. 2008 à 18:13
6 nov. 2008 à 18:13
Ben là aussi "set $TOTO" suffit ;-))
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 18:16
6 nov. 2008 à 18:16
ah ! ben là tu vois celle-là je l'apprends !!
çà fait 20 ans que je me tords le neurone avec mes côte inverses
MERCI
çà fait 20 ans que je me tords le neurone avec mes côte inverses
MERCI
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 nov. 2008 à 18:18
6 nov. 2008 à 18:18
Ben ça fait un moment aussi que les quotes inverses ont été remplacées par $(commande) ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 18:20
6 nov. 2008 à 18:20
Oui entre temps j'ai eu une interruption...
J'ai besoin d'une bonne remise à niveau
:)))
J'ai besoin d'une bonne remise à niveau
:)))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 nov. 2008 à 18:23
6 nov. 2008 à 18:23
Ah bin ça malheureusement c'est pas automatique ;-((
;-))
;-))
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
6 nov. 2008 à 18:29
6 nov. 2008 à 18:29
en fait mon problème reviens a substituer une sous chaine situé a l'intérieur d'une chaine de caractère par une autre chaine de caractère sans savoir ni combien de mots il y a dans ma chaine ni la place ou je veux effectuer la substitution
exemple
List="une chaine de caractère"
je voudrai pouvoir obtenir "une chaine 2 caractère" par exemple
exemple
List="une chaine de caractère"
je voudrai pouvoir obtenir "une chaine 2 caractère" par exemple
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
>
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
6 nov. 2008 à 18:46
6 nov. 2008 à 18:46
[tmpfs]$ List="une chaine de caractère" [tmpfs]$ echo $List une chaine de caractère [tmpfs]$ echo $List | sed 's/de/2/' une chaine 2 caractère [tmpfs]$Mais je doute que ce soit le résultat escompté ;-(
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 18:27
6 nov. 2008 à 18:27
Dommage, mais çà viendra...
J'ai vu que des neurobiologistes stockaient des informations du cerveau sur clé USB
:)
J'ai vu que des neurobiologistes stockaient des informations du cerveau sur clé USB
:)
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 18:30
6 nov. 2008 à 18:30
Là je laisse la place au spécialiste,
Tu es entre bonnes mains avec jipicy
Tu es entre bonnes mains avec jipicy
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 nov. 2008 à 18:32
6 nov. 2008 à 18:32
Faudrait-il encore que je comprenne la demande et toutes ses subtilités ;-((
Honnêtement là je sèche, il faudrait un exemple plus probant ;(\
Honnêtement là je sèche, il faudrait un exemple plus probant ;(\
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
6 nov. 2008 à 18:53
6 nov. 2008 à 18:53
en faite plus globalement mon but est d'ajouter une chaine de caractère STRING dans une liste de caractère déjà triée LIST(c'est une partie d'un projet il mets donc interdit d'utiliser une commande de tri quelconque).
exemple
LIST="bidule machin truc"
et je veux introduire le mot MOT="chaine"
"machin" est le premier mot aphabetiquement supérieur a "chaine" je doit donc l'introduire avant "machin".
je cherche a recuperer AV(ici="bidule ") et AP(ici=" truc")
pour obtenir une nouvelle Liste LIST2="$AV $MOT "machin" $AP"
pour obtenir la liste LIST2="bidule chaine machin truc"
désolé si cet exemple ne simplifie pas les choses
exemple
LIST="bidule machin truc"
et je veux introduire le mot MOT="chaine"
"machin" est le premier mot aphabetiquement supérieur a "chaine" je doit donc l'introduire avant "machin".
je cherche a recuperer AV(ici="bidule ") et AP(ici=" truc")
pour obtenir une nouvelle Liste LIST2="$AV $MOT "machin" $AP"
pour obtenir la liste LIST2="bidule chaine machin truc"
désolé si cet exemple ne simplifie pas les choses
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
6 nov. 2008 à 18:36
6 nov. 2008 à 18:36
J'avais pas VU !
Oui tel que c'est présenté çà va au delà de l'analyse syntaxique et grammaticale ...
tu peux être plus explicite jukun62
Oui tel que c'est présenté çà va au delà de l'analyse syntaxique et grammaticale ...
tu peux être plus explicite jukun62
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
6 nov. 2008 à 19:02
6 nov. 2008 à 19:02
merci je n'avais pas pensé a la commande sed
vous pensez que l'exemple suivant serait correct?
LIST="bidule machin truc"
MOT="chaine"
MOT2="machin"
LIST2=echo $LIST | sed 's/$MOT2/$MOT $MOT2/'
vous pensez que l'exemple suivant serait correct?
LIST="bidule machin truc"
MOT="chaine"
MOT2="machin"
LIST2=echo $LIST | sed 's/$MOT2/$MOT $MOT2/'
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
>
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
6 nov. 2008 à 19:04
6 nov. 2008 à 19:04
par correct je veux dire que LIST2="bidule chaine machin truc"
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
>
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
6 nov. 2008 à 19:14
6 nov. 2008 à 19:14
[tmpfs]$ LIST="bidule machin truc" [tmpfs]$ echo $LIST bidule machin truc [tmpfs]$ MOT="chaine" [tmpfs]$ MOT2="machin" [tmpfs]$ LIST2=$(sed "s/$MOT2/$MOT &/" <<<$LIST) [tmpfs]$ echo $LIST2 bidule chaine machin truc [tmpfs]$
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
7 nov. 2008 à 05:52
7 nov. 2008 à 05:52
MERCI,
C'est quand même la moindre des choses !!!
;-)
C'est quand même la moindre des choses !!!
;-)
jukun62
Messages postés
7
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
8 novembre 2008
>
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
8 nov. 2008 à 10:44
8 nov. 2008 à 10:44
c'est vrai que j'ai oublié,
merci a tous ceux qui ont pris le temps de me répondre et merci de m'avoir permis de résoudre mon probleme.
:-)
merci a tous ceux qui ont pris le temps de me répondre et merci de m'avoir permis de résoudre mon probleme.
:-)