Exercice1: Réaliser les scripts shell suivants:
- ./programme 1
a b c d
1 a
1 b
1 c
1 d
Solution:
x= $1
shift
for i in $*
do
echo $x
$i
done
2. ./programme cat f1 f2 f3
Solution:
x= $1
shift
for i in $*
do
$x $i
done
Exercice 2 : Recherche d’un mot dans une suite de fichiers, le mot et les fichiers sont passés en arguments.
./rech ali
f1 f2 f3
1° solution :
Utilisation de : grep
➔Fauxgrep
$1 $*
2° solution :
mot= $1
shift
grep $mot
$*
3° solution :
x=$1
shift
for f in $*
do
grep $x
$f
done
Exercice 3 : Sauvegarder tous les fichiers dont l’extension est c dans des fichiers appelés oldc et dont l’extension est le nom de ces fichiers. ex: ab.c => oldc.ab.c
for fich
in *.c
do
cp $fich
oldc.$fich
done
Comment
rendre le « c » et oldc paramétrable
./programme c oldc
for fich
in *.$1
do
cp $fich
$2.$fich
done
Exercice 4 : Afficher les fichiers passés en arguments
echo donner
les fichiers à afficher
read x
for f
in $x
do
cat $f
done
Exercice 5 : Afficher les 10 premières lignes des fichiers dont l’extension est c
Première solution :
head -10
*.c
Pb : pas de
nom des fichiers
Deuxième solution :
for prog
in *.c
do
echo les 10
premières lignes du fichier : $prog
head -10
$prog
done
Comment rendre le « c » et 10 paramétrables
./programme c 10
for prog in *.$1
do
echo les $1 premières lignes de $prog
head -$2 $prog
done
./programme c 10
for prog in *.$1
do
echo les $1 premières lignes de $prog
head -$2 $prog
done