samedi 24 novembre 2018

Programmation système (Script Shell)

Exercice1Réaliser les scripts shell suivants:


  1.        ./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 2Recherche 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

Categories: ,