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
wcet des commandesheadettail, proposez un scriptsplit-2.shqui 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.sp1et.sp2- Keys :
head,tail,cat,wc,dirname,basename
Q2. Reformer un fichier qui a été divisé en 2 parties
- Construisez la commande
group-2.shpermettant la reconstruction à partir des fichiers issus desplit-2.sh. Le scriptgroup-2.shadmet un seul paramètre : le préfixe des fichiers constituant la source.- Keys :
head,cat, redirection destdout
Q3. En N parties équivalentes
- Copiez et modifiez
split-2.shafin de construire le scriptsplit-n.shpermettant le partage - en parties de tailles équivalentes - d'un fichier passé en paramètre. Le nombre de divisionsNsera passé en paramètre du scriptsplit-n.sh. Cette valeurNsera stockée en première ligne de la série de fichiers de partage avec le nom du fichier original. - Copiez et modifiez
group-2.shafin de construire le scriptgroup-n.shpermettant la fusion des fichiers de partage. Sur la première ligne du premier fichier de partage se trouveN, le nombre de parties et le nom du fichier original. La valeurNrécupérée permettra de vérifier si l'ensemble des fichiers nécessaires à la reconstruction sont fournis. Le nom du fichier original permettra de recomposer sous le même nom qu'à l'origine. En conséquence,group-n.shne prend qu'un seul paramètre : le préfixe des fichiers à recomposer.
uuencode/uudecodeuuencode [fichier] nom: est utilisé pour encoder un fichier en n’utilisant que des caractèresASCII7 bits (codes entre 0 et 127), par exemple pour le transmettre sur un réseau ne transmettant que les 7 bits de poids faible.uuencodelit le fichier (oustdinsi l’on ne précise pas de nom) et écrit la version encodée sur la sortie standardstdout. Le paramètrenompré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é,uudecodelitstdin. Le nom du fichier résultat est précisé dans le codage (paramètrenomdeuuencode).- Afin de vous exercer, réalisez un uuencodage d'un fichier de votre choix. Choisissez par exemple le fichier
vi-ref.pdfdisponible 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. Utilisezuuencodeetuudecodepour adaptersplit-2.shdans ce but. Modifiezgroup-2.shen conséquence.- Keys :
uuencode,uudecode,head,tail,cat,wc
- A partir de
split-2.shetgroup-2.sh, construisezsplitter.sh.splitter.shadmettra 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-dou-g,splitter.shprocè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.1547460760.txt.gz · Dernière modification : 2019/01/14 10:12 de gilles