Я пишу командный файл, и я хочу сравнить время модификации (timstap) с двумя папками и скопировать последний. Я не знаю, доступна ли эта опция в каталоге, потому что я не знаю. поэтому я хочу получить дату и сохранить каждую часть в variale, чтобы сравнить ее
Пример :-
получить дату date
11 5 2011 11:10:57
день = 11
месяц = 5
год = 2011
час = 11
мин = 10
secnd = 57
Баш предоставляет -nt
оператор сравнения, который возвращает истину, если один файл новее другого. Вот сценарий, который иллюстрирует эту функциональность
#!/bin/bash
if [[ "$1" -nt "$2" ]]
then
echo "$1 is newer than $2 - copying $1"
#do something
else
if [[ "$2" -nt "$1" ]]
then
echo "$2 is newer than $1 - copying $2"
#do something
else
echo "$1 and $2 are the same time"
#do nothing
fi
fi
Может быть, опция -newer "find" может это сделать.
найти . -newer каталог -exec cp {} / new / location \;
П.Д. Я не говорю по английски
Чтобы установить компоненты datetime в переменные оболочки:
eval $(date "+day=%d month=%m year=%Y hour=%H min=%M secnd=%S")
Чтобы сравнить даты, Ответ Иана это путь.