
------------------------ 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 -----------------------------------
-----------------------------------------------------------------------------
