web-dev-qa-db-ja.com

ファイルの日付bashを比較する

私は小さなドロップボックスのようなbashスクリプトに取り組んでいますが、2つのファイルの日付を比較し、rsyncを使用せずに古いファイルを新しいファイルに置き換えるにはどうすればよいですか?これを処理しますか? SHA1は新しいものを知るのに役立ちますか?

40
Wael hamada

-nt(より新しい)および-ot(より古い)演算子を使用して、testとファイルの変更時間を比較できます。

if [ "$file1" -ot "$file2" ]; then
    cp -f "$file2" "$file1"
fi
92
Anton Kovalenko

POSIXソリューションは次のとおりです。

find -name file2 -newer file1
7
Steven Penny

またはさらに短く、man stat

stat -c %y file
3
whatever4711

どう?

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