152 lines
6.4 KiB
Plaintext
152 lines
6.4 KiB
Plaintext
|
|
||
|
------------------------ 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 <login>-scr.1.2-1.tar contenant le fichier reponses et
|
||
|
le script <login>-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 <login>-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 <login>-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 <display_format> <SCR_FILE>
|
||
|
|
||
|
$ ./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 -----------------------------------
|
||
|
-----------------------------------------------------------------------------
|