web-dev-qa-db-fra.com

comparer la date bash du fichier

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?

40
Wael hamada

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
92
Anton Kovalenko

Voici une solution POSIX:

find -name file2 -newer file1
7
Steven Penny

Ou encore plus court et plus agréable, regardez man stat:

stat -c %y file
3
whatever4711

que diriez-vous

 stat file|awk -F': ' '/Modify: /{print $2}'
2
Kent