Commande « mv » en mode renommage avec nom de fichier non conventionnel

Lors d’un TP nous avons rencontré une difficulté, renommer un fichier en intégrant le nom d’utilisateur et la date et heure du jour dans le nouveau nom de fichier … Voici la commande bash correspondante :

mv fichierarenommer "`whoami`_`date +%Y%m%d_%T`"

Explications :

Toute l’astuce réside dans le caractère ` (AltGr+7).
En effet celui-ci permet d’indiquer à l’interpréteur de commande que ce qui va suivre ce caractère est une commande à évaluer, dans une chaine de caractère. Cela permet d’obtenir le résultat d’une commande dans une chaîne de caractère au lieu de se retrouver avec le texte de la commande, et de compléter ou mixer ce résultat avec d’autres caractères.
Notez d’ailleurs les guillemets «  qui indique le début et la fin de la chaîne de caractère qui formera le nom du fichier.
Il faut bien sûr indiquer la fin de la commande par ce même caractère ` de façon à « encadrer » la commande à évaluer.
La commande whoami renvoi le nom de l’utilisateur actuel qui est connecté.
La commande date +%Y%m%d_%T va renvoyer une chaine de caractère avec l’année (%Y), le mois (%m), le jour (%d) et l’heure au format HH:MM:SS, ce qui donne : 20150324_20:29:30. (A noter le caractère _ qui sépare le jour de l’heure).

Avec cette commande, le fichier final prendra le nom suivant, en supposant que l’utilisateur se nomme dimitri 🙂 :
dimitri_20150324_20:29:30

On peut améliorer cette commande qui ne conserve pas l’extension du fichier si il en possède une …

Laisser un commentaire