2012-02-13 16 views
0

私はこのような何かやろうとしている:ファイル日付の比較に基づいて条件付きでbashコードを実行するにはどうすればよいですか?

for f in $SOMEDIR 
    do 
     if "$f is newer than some other file" 
     then 
      "do this" 
     else 
      "do this" 
     fi 
    done 
fi 

を最初のファイルの日付が第二よりも新しいことを起こる場合、私は、私はすぐにファイルの日付を比較し、実行するために素晴らしく、簡単な方法を見てきました知っているが、私はそれを再び見つけるためのどこに手がかりがありません。

助けがあれば助かります。

答えて

2

は、ファイルテスト演算子を使用します。撮影

:F1 -nt F2
ファイルF1 http://tldp.org/LDP/abs/html/fto.html


ファイルF1はテストとTEST2を想定すると、

がファイルであるf2より古い-ot F2 F2

F1よりも新しいです。

実行さ
if [[ "test" -nt "test2" ]]; then 
    echo "yes" 
else 
    echo "no" 
fi 

if [[ "test" -ot "test2" ]]; then 
    echo "yes" 
else 
    echo "no" 
fi 

$ ./test 
yes 
no 
+0

これは美しく働きました!ありがとうございました! – djdrzzy

関連する問題