Écrivez une commande sed transformant la chaîne
moins en
plus. Appliquez-la à Vous aurez
moins de budget.
sed -e 's/moins/plus/g'
Écrivez un commande sed transformant toutes les lettres
minuscules en leur suivante lexicographique (cas
particulier : z se transforme en
!). Rappel : vous pouvez utiliser un fichier
pour rassembler plusieurs commandes sed.
sed -f decalage.sed
# fichier "decalage.sed"
s/z/!/g
s/y/z/g
s/x/y/g
s/w/x/g
s/v/w/g
s/u/v/g
s/t/u/g
s/s/t/g
s/r/s/g
s/q/r/g
s/p/q/g
s/o/p/g
s/n/o/g
s/m/n/g
s/l/m/g
s/k/l/g
s/j/k/g
s/i/j/g
s/h/i/g
s/g/h/g
s/f/g/g
s/e/f/g
s/d/e/g
s/c/d/g
s/b/c/g
s/a/b/g
Cette solution peut sembler étrange, car les substitutions ne se
font pas dans l'ordre alphabétique mais dans l'ordre
alphabétique inverse. C'est nécessaire car sinon tous les
a se transforment en b, puis tous les
b (y compris ceux qui sont nouvellement
transformés) en c, etc., pour finir par un texte
intégralement composé de lettres a.
Écrivez une commande sed qui affiche uniquement le début de
chaque ligne du fichier /etc/passwd jusqu'au
premier caractère :.
sed -e 's/^\([^:]*\).*$/\1/' /etc/passwd
On aurait pu aussi utiliser la commande cut.
Écrivez une commande sed qui remplace les couples de guillemets
anglais par un couple de guillemets français (Ceci est un
"exemple" qui doit "fonctionner". doit donner Ceci
est un <<exemple>> qui doit
<<fonctionner>>.).
sed -e 's/"\([^"]*\)"/<<\1>>/g'