Je travaille sur un petit script bash de type dropbox, comment puis-je comparer les dates de 2 fichiers et remplacer l'ancien (s) par le nouveau sans utiliser rsync existe-t-il un moyen simple de traiter cela? le SHA1 peut-il m'aider à connaître le plus récent?
Vous pouvez comparer les temps de modification des fichiers avec test
, en utilisant -nt
(plus récent que) et -ot
(plus anciens que) opérateurs:
if [ "$file1" -ot "$file2" ]; then
cp -f "$file2" "$file1"
fi
Voici une solution POSIX:
find -name file2 -newer file1
Ou encore plus court et plus agréable, regardez man stat
:
stat -c %y file
que diriez-vous
stat file|awk -F': ' '/Modify: /{print $2}'