Сравните метку времени SuSe Linux

Я - попытка сравнить в два раза файл на основе их modify/lastchange метки времени и затем скопировать файл в некоторый код папки ниже

#!/bin/sh
cd /sapmnt/audit/
echo $PWD
t1= stat -c %z audit.log20151019115132
cd /var/log/audit/
echo $PWD
t2= stat -c %z audit.log.3
echo $t1
echo $t2
if [ $t2 -nt $t1 ];
then
echo "PASS"
else
   echo "Fail"
fi

вывод:

/sapmnt/audit
2015-10-19 11:51:32.189657200 +0000
/var/log/audit
2015-10-20 17:25:01.000000000 +0000


PASS

Проблема состоит в том, что это всегда производило Передачу также, если я обмениваюсь условием к [ $t1 -nt $t2 ].

0
задан 21 October 2015 в 11:09
2 ответа

-nt и -ot работают непосредственно с файлами, а не со значениями.

#!/bin/sh

t1='/sapmnt/audit//audit.log20151019115132'
t2='/var/log/audit/audit.log.3'
echo $t1
echo $t2
if [ $t2 -nt $t1 ];
then
echo "PASS"
else
   echo "Fail"
fi
1
ответ дан 4 December 2019 в 13:46

согласно man test

FILE1 -nt FILE2

FILE1 новее (дата модификации), чем FILE2

-nt оператор будет сравнивать файл, а не отметку времени.

1
ответ дан 4 December 2019 в 13:46

Теги

Похожие вопросы