Informations :
Dates
- Publish : : Saturdy 10 august 2019
- Modification : Sunday 11 august 2019
Share :
Comment-faire pour fractionner : avec un substr
dans la commande awk
Par exemple sur la commande date +%Y%m%d%H%M%S
:
Script avec 1 ligne
001date +%Y%m%d%H%M%S | awk -F - '{print "Y"substr(,1,4) "M"substr(,5,2) "D"substr(,7,2) "H"substr(,9,6) "" substr(,15,4)}';
Par exemple sur un répertoire avec des fichiers ayant étaient nommés par date :
Script avec 3 lignes
001ls -l /home/user/repertoire/ 002/home/user/repertoire/97-20190802112342.jpg 003/home/user/repertoire/01-20190810150200.jpg
On pourait faire :
Script avec 1 ligne
001for i in /home/user/repertoire/*; do echo $i |cut -d/ -f 5 | awk -F - '{print "-" "Y"substr(,1,4) "M"substr(,5,2) "D"substr(,7,2) "H"substr(,9,6) "" substr(,15,4)}'; done;
Comment-faire pour récupérer seulement les fichiers de la journée !
Il faut simplement ajouter des variables comme la date du jour dans la commande awk
, récupérer la date du jour des fichiers et vérifier si elles sont égales ou différentes avec un if
.
Comme ceci pour les fichiers de type 01-20190810150200.jpg
du répertoire /home/user/repertoire/
:
Script avec 7 lignes
001for i in /home/user/repertoire/*.jpg; do 002 003 echo $i |cut -d/ -f 5 | 004 awk -F - '{ date_now=substr($(date),7,2); day=substr(,7,2); if (date_now == day) 005 print "-" "Y"substr(,1,4) "M"substr(,5,2) "D"substr(,7,2) "H"substr(,9,4) "S"substr(,13,2) ""substr(,15,4)}'; 006 007done;
Et comme ceci sur une date de type YYYYMMDD heure minutes secondes : date +%Y%m%d%H%M%S
^^ :
Script avec 1 ligne
001date +%Y%m%d%H%M%S | awk -F - '{ date_now=substr($(date),7,2); day=substr({content_text},7,2); if (date_now == day) print "Y"substr({content_text},1,4) "M"substr({content_text},5,2) "D"substr({content_text},7,2) "H"substr({content_text},9,4) ""substr({content_text},13,2) ""substr({content_text},15,4) }';
Cordialement, Romain ;)