tp2
Ceci est une ancienne révision du document !
Table des matières
Splitter de fichiers
Durée : 4 heures
Q1. Diviser un fichier texte en 2 parties
- A l'aide de la commande
wc
et des commandeshead
ettail
, proposez un scriptsplit-2.sh
qui permet la division d'un fichier texte passé en paramètre en deux parties de taille égales (le plus possible au moins). Le nom du fichier texte a diviser sera passé en paramètre (y compris avec une arborescence). Le préfixe des fichiers issus de la division sera le nom du fichier source. Les extensions des deux fichiers seront respectivement.sp1
et.sp2
- Keys :
head
,tail
,cat
,wc
,dirname
,basename
Q2. Reformer un fichier qui a été diviser en 2 parties
- Construisez la commande
group-2.sh
permettant la reconstruction à partir des fichiers issus desplit-2.sh
. Le scriptgroup-2.sh
admet un seul paramètre : le préfixe des fichiers constituant la source.- Keys :
head
,cat
, redirection destdout
uuencode/uudecode
uuencode [fichier] nom
: est utilisé pour encoder un fichier en n’utilisant que des caractèresASCII
7 bits (codes entre 0 et 127), par exemple pour le transmettre sur un réseau ne transmettant que les 7 bits de poids faible.uuencode
lit le fichier (oustdin
si l’on ne précise pas de nom) et écrit la version encodée sur la sortie standardstdout
. Le paramètrenom
précise le nom du fichier pour le décodage paruudecode
.uudecode [fichier]
: Décode un fichier encodé paruuencode
. Si l’argument fichier n’est pas spécifié,uudecode
litstdin
. Le nom du fichier résultat est précisé dans le codage (paramètrenom
deuuencode
).- Afin de vous exercer, réalisez un uuencodage d'un fichier de votre choix. Choisissez par exemple le fichier
vi-ref.pdf
disponible en annexe de la page du module de système d'exploitation. - On souhaite maintenant traiter les fichiers de nature binaire en plus des fichiers
ASCII
. Utilisezuuencode
etuudecode
pour adaptersplit-2.sh
dans ce but. Modifiezgroup-2.sh
en conséquence.- Keys :
uuencode
,uudecode
,head
,tail
,cat
,wc
- A partir de
split-2.sh
etgroup-2.sh
, construisezsplitter.sh
.splitter.sh
admettra un paramètre supplémentaire indiquant un nombre variable de parties issues de la division. La division devra se faire à part égales. Lorsque ce paramètre ne sera pas un nombre mais l'option-d
ou-g
,splitter.sh
procède à la reconstruction du fichier qui lui est passé en paramètre (qui est un préfixe dans ce cas).- Keys :
uuencode
,uudecode
,wc
,cat
,let
, redirection destdout
tp2.1547459888.txt.gz · Dernière modification : 2019/01/14 09:58 de gilles