En règle générale, ça serait vraiment bien de poster les sorties correspondant effectivement au script décrit. Là, vu le script, dans la ligne générée, archive.tar.gz devrait plutôt ressembler à archive_2016-09September-18_002627 (curieux format de date). D'autre part,
'--newer-mtime="2016-09-18''00:26:27"'
ne correspond pas non plus à $g tel que g est défini.
Sinon, le calcul de ddate peut être légèrement amélioré.
On peut identifier l'entrée qu'on veut garder avec ls avant de transmettre le résultat à stat (du coup, stat ne traite qu'un seul fichier au lieu d'une liste).
Pour garder la première ligne d'une liste, sed -n '1 p' fonctionne, mais parcourt toute la liste. Il vaut mieux utiliser head (ce qui améliore également la lisibilité).
Sur le plan cosmétique, je préfère évaluer avec $(...) plutôt que \'...\', mais là, c'est plus une question de préférence personnelle.
Au final, le nombre de commande lancées est le même, mais seul ls travaille sur une liste, les autres commandes ne traitent qu'une seule entrée. Sur des répertoires avec de nombreux fichiers, la différence en temps d'exécution peut être significative.
# en passant
Posté par gaaaaaAab . En réponse au message espace dans une chaine et commande tar. Évalué à 3.
En règle générale, ça serait vraiment bien de poster les sorties correspondant effectivement au script décrit. Là, vu le script, dans la ligne générée, archive.tar.gz devrait plutôt ressembler à archive_2016-09September-18_002627 (curieux format de date). D'autre part,
ne correspond pas non plus à $g tel que g est défini.
Sinon, le calcul de ddate peut être légèrement amélioré.
On peut identifier l'entrée qu'on veut garder avec ls avant de transmettre le résultat à stat (du coup, stat ne traite qu'un seul fichier au lieu d'une liste).
Pour garder la première ligne d'une liste, sed -n '1 p' fonctionne, mais parcourt toute la liste. Il vaut mieux utiliser head (ce qui améliore également la lisibilité).
Sur le plan cosmétique, je préfère évaluer avec $(...) plutôt que \'...\', mais là, c'est plus une question de préférence personnelle.
Bref, j'écrirais plutôt :
Au final, le nombre de commande lancées est le même, mais seul ls travaille sur une liste, les autres commandes ne traitent qu'une seule entrée. Sur des répertoires avec de nombreux fichiers, la différence en temps d'exécution peut être significative.