L'intérêt des scripts, c'est d'assurer l'enchaînement de commandes, pas de faire du traitement de chaînes de caractères, pour lequel ils sont très mal équipés (surtout les shells).
bref, on cherche un peu et on trouve qu'il existe une commande rev
REV(1) User Commands REV(1)
NAME
rev - reverse lines characterwise
SYNOPSIS
rev [option] [file...]
DESCRIPTION
The rev utility copies the specified files to standard output, revers‐
ing the order of characters in every line. If no files are specified,
standard input is read.
Reste plus qu'à s'en servir correctement. Mais tu ne nous as pas dit d'où venait la phrase, si ce n'est pas plutôt une ligne etc.
Par exemple
$ echo "même avec des caractères accentués" | rev
séutnecca serètcarac sed ceva emêm
ou une seule ligne prise sur l'entrée standard ?
$ head -1 | rev
juste la première
erèimerp al etsuj
C'est dommage que l'apprentissage des scripts se fasse sur des exemples qui n'ont rien à voir avec leur vraie utilité.
Ca sert à convaincre les gens qu'on peut faire en bash, à condition de se compliquer la vie avec un langage qui n'est pas fait pour ça, des trucs qui ne servent à rien et qui se font direct avec n'importe quel langage ?
C'est dommage que l'apprentissage des scripts se fasse sur des exemples qui n'ont rien à voir avec leur vraie utilité.
Ca sert à convaincre les gens qu'on peut faire en bash, à condition de se compliquer la vie avec un langage qui n'est pas fait pour ça, des trucs qui ne servent à rien et qui se font direct avec n'importe quel langage ?
Tous les systèmes n'ont pas ces fameux langages qui le font direct. Certains viennent qu'avec sh, ash ou csh comme langage de script.
Par exemple, si on veut créer des scripts qui prennent des flags/options (script.sh --help, script.sh -v, script.sh --foo bar -a 0), il est alors utile de savoir parser des chaînes de caractères.
Le but de cet exercice est aussi de CHERCHER la réponse, de se balader dans la doc, d'apprendre à utiliser le man. Pas de donner la commande qui va bien directement.
L'intérêt des scripts, c'est d'assurer l'enchaînement de commandes, pas de faire du traitement de chaînes de caractères, pour lequel ils sont très mal équipés (surtout les shells).
bref, on cherche un peu et on trouve qu'il existe une commande rev
REV(1) User Commands REV(1)
NAME
rev - reverse lines characterwise
SYNOPSIS
rev [option] [file...]
DESCRIPTION
The rev utility copies the specified files to standard output, revers‐
ing the order of characters in every line. If no files are specified,
standard input is read.
Reste plus qu'à s'en servir correctement. Mais tu ne nous as pas dit d'où venait la phrase, si ce n'est pas plutôt une ligne etc.
Par exemple
$ echo "même avec des caractères accentués" | rev
séutnecca serètcarac sed ceva emêm
ou une seule ligne prise sur l'entrée standard ?
$ head -1 | rev
juste la première
erèimerp al etsuj
Après, en faire un script, c'est de la rigolade.
#!/bin/bash
# les commandes vont ici
En fait, les mots ne doivent pas bouger de places dans la phrase : le mot "bonjour" doit rester à la première place dans la phrase et pas à la fin de celle ci. Je savais que la commande rev existait mais je ne sais pas si il en existe une juste pour inverser les lettres d'un mot sans changer l'ordre des mots.
Tu peux passer d'une chaîne de caractère en un tableau avec les commandes built-in de bash read ou readarray.
Exemple:
$ read -ra words <<< "Bonjour ça va"
$ echo "${#words[@]}"
3
$ echo "${words[0]}
Bonjour
script en bash
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique