argi
effectue une liste des
fichiers récursivement à partir du chemin d'accès
argi
.
Cette liste ne devra pas afficher le nom des répertoires au milieu des
fichiers, et devra indenter les fichiers à chaque fois que l'on descend
dans un sous-répertoire.
fatfilter
en Perl qui recherche les gros
fichiers à partir d'un répertoire donné.
Ce programme filtre les fichiers dont l'extension est spécifiée
dans le fichier .fatfilterrc
.
Les extensions inconnues devront être demandées à
l'utilisateur (dans un mode interactif).
Faire un programme Perl update
qui admet une série
d'arguments et d'options.
Les arguments sont des noms de fichiers ou de répertoires.
S'il n'y en a pas, on considère l'argument par défaut
donné par la variable d'environnement $HOME
.
Les options suivantes (qui sont exclusives) décrivent le travail
à effectuer.
-h
-i
.updtate
.
Les noms de fichiers seront accompagnés des renseignements
nécessaires aux opérations suivantes (date de la dernière
modification, ...).
Cet option n'utilise pas la notion de mode intéractif.
-s
Effectue le travail de l'option -i
en repérant les
fichiers modifiés, détruits, renommés ou
déplacés et en indiquant les instructions shell à
exécuter pour restituer les fichiers.
(Si rien n'a changé, le fichier .update
est à jour.)
Pour cela, on effectue les actions suivantes.
.updatei.tgz
et .updatei
n'existent
pas.
.updatei
contenant
<ancien_fichier> -> <nouveau_fichier>
".updatei
contenant
<fichier> ->
".updatei
contenant
<fichier>
".updatei
pour permettre à l'utilisateur
de faire des modifications.
<liste>
de
.updatei
et de tous les fichiers
<fichier>
spécifiés par une ligne
du fichier .updatei
sans "->
".
Effectue la commande shell
tar czvf .updatei.tgz <liste>
".updatei.tgz
existants en restituant les modifications de fichiers, et détruit ces
fichiers.
Pour cela, on effectue les opérations suivantes.
.update
dans un fichier
temporaire, et vérifie qu'aucune modification ultérieure n'est
intervenue.
(Sinon, le signale à l'utilisateur.)
.updatei
,
et pour chaque ligne de ce fichier avec "->
", effectue une
commande shell: rm
ou mv
.
tar xzvf .updatei.tgz
"rdist
.