------------------------ INSTRUCTIONS A LIRE JUSQU'AU BOUT ------------------- Cher lecteur, si vous etes en train de me lire par vim ou par un autre editeur de texte, je vous demanderai de sortir de l'editeur de texte et de m'ouvrir simplement par la commande less qui fait peser moins de risque sur moi et sur vous. Avec less, on avance/recule avec les fleches haut/bas et on avance/recule page par page par CTRL-V/CTRL-B ---------------------------------------------------------------------------- On rendra l'archive -scr.1.2-1.tar contenant le fichier reponses et le script -utf8tocode.sh, qui fait l'objet d'un exercice. A la fin de l'epreuve se reporter au fichier README pour, en particulier, appliquer correctement la commande d'archivage. ----------------------------------------------------------------------------- -------------------------------------------------------------------------- /Nom/Prenom/nom_machine/ est-il place au debut du fichier reponses ? Preceder chaque reponse par le numero de la question traitee. Ce n'est pas la longueur de la reponse qui compte mais sa pertinence. ---------------------------------------------------------------------------- ------------------------------------------------------------------------------ TOUTES LES QUESTIONS DOIVENT ETRE TRAITEES SANS BOUGER DU REPERTOIRE DE BASE. --------------------------------------------------------------------------- 1/ Consulter la page manuel de ls pour savoir comment afficher les dates de derniere modification comme dans : 2022-11-16 15:49:40.036307437 +0100 puis, a l'aide de ls uniquement, donner la ligne de commandes permettant d'afficher le contenu de toute l'arborescence qui commence en TR/ en donnant pour chaque element, entre autres, la date de derniere modification au format indique ci-dessus. La ligne de commandes ls demandee doit etre non composee, c'est a dire, sans les symboles ; , | , ||, &&, ... Placer la ligne de commandes dans le fichier reponses. Inutile de recopier le resultat de la ligne de commandes. ------------------------------------------------------------------------------- 2/ SANS BOUGER DU REPERTOIRE DE BASE, a l'aide uniquement d'une seule ligne de commandes ls et sans descendre dans les repertoires dont le nom correspond au motif, afficher la liste de tous les elements de TR/lib/krb5/ et de TR/lib/kernel/ dont le nom contient deux chiffres qui se suivent formant un nombre de valeur comprise entre 54 et 67 inclus. La ligne de commandes ls demandee doit etre non composee, c'est a dire, sans les symboles ; , | , ||, &&, ... On doit utiliser les notations standards pour les classes de caracteres : [:upper:], [:lower:], ... Les motifs proposes devront fonctionner dans n'importe quel repertoire ou on chercherait les memes configurations dans les noms des entrees (fichiers/repertoires) qu'il contient. Placer la ligne de commandes dans le fichier reponses. Inutile de recopier le resultat de la ligne de commandes. ---------------------------------------------------------------------------------- 3/ SANS BOUGER DU REPERTOIRE DE BASE et a l'aide uniquement d'une seule ligne de commandes find, sans utiliser xargs et sans aucun pipeline : afficher la liste de tous les elements de l'arborescence qui commence en TR/ qui se trouvent a une profondeur au moins 6 et dont la date de derniere modification est posterieure a (plus recente que) celle du fichier inout.dev Placer la ligne de commandes dans le fichier reponses. Inutile de recopier le resultat de la ligne de commandes. ----------------------------------------------------------------------------------- 4/ SANS BOUGER DU REPERTOIRE DE BASE et a l'aide uniquement d'une seule ligne de commandes find, sans utiliser xargs et sans aucun pipeline : Creer un repertoire NEW dans chaque repertoire se trouvant a une profondeur exactement 8 de l'arborescence qui commence en TR/ Placer la ligne de commandes dans le fichier reponses. Inutile de recopier le resultat de la ligne de commandes. --------------------------------------------------------------------------------------- 5/ SANS BOUGER DU REPERTOIRE DE BASE et a l'aide uniquement d'une seule ligne de commandes find, sans utiliser xargs et sans aucun pipeline : Dans chaque repertoire contenant des fichiers reguliers se trouvant a une profondeur exactement de 8 de l'arborescence qui commence en TR/ creer une archive appelee archive.tar de ces fichiers-la. Placer la ligne de commandes dans le fichier reponses. Inutile de recopier le resultat de la ligne de commandes. --------------------------------------------------------------------------- 6/ On veut ecrire un script -utf8tocode.sh qui prend deux arguments a la ligne de commandes. Le deuxieme argument est le nom d'un fichier contenant des encodages UTF-8, un par ligne. Le script affiche en hexadecimal, pour chaque encodage dans le fichier, la valeur du point de code correspondant. Le premier argument est un indicateur soumis par l'utilisateur sous la forme 1 ou 2, ou 2 signifie que le point code doit etre prefixe par la notation U+, et 1 signifie qu'il n'y a aucun prefixe a ajouter lors de l'affichage. Ecrire le script -utf8tocode.sh en gerant toutes les erreurs sur les parametres a la ligne de commandes. ----------------------------------------------------------------------- PLACER NOM/PRENOM/NOM_MACHINE en commentaire VERS LE DEBUT DU script. ---------------------------------------------------------------------- Le fichier utf8.dat est fourni pour faire des tests rapidement. ATTENTION : Le script ne doit pas etre adapte au contenu de utf8.dat. On suppose que tous les encodages UTF-8 dans le fichier source sont corrects. On pourra utiliser la commande printf du shell qui utilise les formats d'affichage comme le fait printf du C. $ ./utf8tocode.sh Usage: ./utf8tocode.sh $ ./utf8tocode.sh 1 mimi.dat File mimi.dat doesn't exist or is not regular $ ./utf8tocode.sh 3 utf8.dat Unknown display format. Please submit 1 if no prefix, 2 for prefix U+ $ ./utf8tocode.sh 1 utf8.dat 4b5 9f74 5b 12bd7c $ ./utf8tocode.sh 2 utf8.dat U+4b5 U+9f74 U+5b U+12bd7c ----------------------------- C'EST FINI ----------------------------------- -----------------------------------------------------------------------------