Bonjour,
Comment faut-il procéder pour incrémenter un caractère ? J'entends par là que quand je veux incrémenter A c'est pour avoir B...
et ceci en ksh
Merci.
Bonjour,
Comment faut-il procéder pour incrémenter un caractère ? J'entends par là que quand je veux incrémenter A c'est pour avoir B...
et ceci en ksh
Merci.
Un caractère quelconque ? Ou juste une lettre ?
Dans le cas général, et sur 8 bits :
Code : Sélectionner tout - Visualiser dans une fenêtre à part tr '\0-\377' '\1-\377\0'
Pouriez vous etre plus claire sur cette demonstration ,Envoyé par LLB
en l'etat je ne voit pas pas comment vous obtenez "B" à partir d'une variable egale à "A"
![]()
Merci à vous
Il a dit incrémenter un caractère, pas incrémenter une lettre. rcyril, il faut préciser l'énoncé si ma solution ne convient pas (j'ai suivi le comportement du C, en fait).
S'il y a que des majuscules sans accent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part tr 'A-Z' 'B-ZA'
Tu connais le fonctionnement de tr ?
On donne deux listes de caractères, et tr remplace chaque caractère de la 1ère liste par celui de la 2e liste (à la même position).
Ce qui correspond bien à l'incrément. Maintenant, transpose cet exemple entre A et F sur l'ensemble des caractères, de \0 à \377 (= 255, le maximum sur 1 octet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 tr 'A-F' 'B-FA' est équivalent à tr 'ABCDEF' 'BCDEFA'
Je m'interesse à ce Post car j'ai un problème assez similaire
Aussi , j'ai essayé ce qui suit (HP-UX 11 en Ksh)
resultat = "B" OK
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "A" | tr 'A-Z' 'B-ZA'![]()
resultat = "¤" KO
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "B" | tr 'A-Z' 'B-ZA'![]()
Que donne la commande suivante chez vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "A" | tr '\0-\377' '\1-\377\0'
Merci de votre aide
Cordialment
@rgoët
Chez moi, tout fonctionne parfaitement.
Le dernier exemple m'affiche bien B, suivi d'une tabulation verticale (\v, le caractère après le \n inséré par echo).
J'avoue ne pas trop comprendre d'où peut venir le problème. Peut-être une version de tr exotique ?
Mon tr :
Au pire, s'il faut se limiter à l'alphabet, il reste la possibilité de faire l'expansion à la main (et lister toutes les lettres).
Code : Sélectionner tout - Visualiser dans une fenêtre à part tr (GNU coreutils) 5.97
Partager