Académique Documents
Professionnel Documents
Culture Documents
Tableau d’entrée: 11 8 3 6
- Ecrivez un script «tri.sh» qui permet de trier par ordre croissant les éléments
d’un tableau saisi en entrant le nombre d’éléments du tableau en premier.
Exercice 1 (Correction)
#!/bin/bash
read -p "Entrez le nombre des éléments du tableau :" n
echo "Saisie des nombres à trier :"
i=0
while [ $i -lt $n ];do
read –p "nombre $((i+1)) : " tab[$i]
((i++))
done
echo "Ordre original "
echo ${tab[*]}
for ((i=0; i<n; i++));do
for ((j=0; j<n-i-1; j++));do
if [ ${tab[j]} -gt ${tab[$((j+1))]} ]
then
temp=${tab[j]}
tab[$j]=${tab[$((j+1))]}
tab[$((j+1))]=$temp
fi
done
done
echo "Ordre croissant "
echo ${tab[*]}
Exercice 8
Essayez de créez une fonction inverse() dont l’attribut est la variable saisie est
qui permet une sortie inversée
Exercice 8 (Correction)
#!/bin/bash
read -p "Ecrivez qlq chose ?: " input
#La fonction inverse() permet d'inverser une entrée donnée
#output est la sortie de inverse()
inverse(){
output=""
e=$@
len=${#e}
for (( i=$len-1; i>=0; i-- ))
do
output="$output${e:$i:1}"
done
}
echo "Entrée (origine): $input"
inverse $input
echo "Sortie (inversée): $output"
Rappel des redirections des flux
Les redirections
Rediriger le résultat dans un fichier:
C'est là qu'intervient le petit symbole magique > ou >> :
macommande > resultats.txt
Un fichier sera créé
macommande >> resultats.txt
Là on utilise < :
macommande < resultats.txt
Exemple: cat < notes.txt Le contenu du fichier sera lu
L’utilisation de << permet d'envoyer un contenu à une commande avec votre clavier,
Exemple:
sort -n << FIN
Cette commande permet de trier des nombres saisis un par ligne et « FIN » sert à
terminer la saisie.
Autre exemple: wc –m << STOP
pour compter le nombre de mots ou de caractères saisis par le clavier.
Mécanismes complémentaires
Options du shell
Le Bash a des options qui lui permettent de changer la façon comment les scripts et les
commandes s’exécutent.
La commande set:
echo -e "1\n2\n3\n" | xargs –i touch {}.txt Crée des fichier .txt depuis l’affichage
echo -e "1\t2\t3\t" | xargs –d "\t" touch Crée des fichiers depuis l’affichage en tenant
compte le séparateur \t
Exercice 10
En utilisant xargs dans un script, cherchez le texte donné en premier argument du
script dans tous les fichiers du répertoire donné en deuxième argument.