Эти файлы содержат время unix как часть их имени. эти файлы, как показано ниже:файл списка, соответствующий временному диапазону с использованием отметки времени unix
1.1437039767.xml 1.1437039614.xml и т.д ..
Вот моя функция баш; Я пытаюсь перечислить только файлы, имена которых находятся между Сегодня и завтра в unix time.
list() {
D=$(date "+%m/%d/%Y 00:00:00")
d=$(date -d "${D}" +%s)
CURRENT=$(date "+%m/%d/%Y %H:%M:%S")
u=$(date -d "${CURRENT}" +%s)
LS=$(ls -1A "${1}"* | sed -e "s/1.//" -e "s/.xml$//")
for file in ${LS};
do
if [ "${file}" -gt "${d}" -a "${file}" -lt "${u}" ];
then
echo "1.${file}.xml"
fi
done
}
list ${1}
Эта функция дает такие ошибки
[: 16-07-15/1437025363: integer expression expected
Любая помощь :)
Добавление выход с -x
Вот моя команда, включая $ {1}:
./test.sh /path/
+ '[' path/1437043449 -gt 1437001200 -a path/1437043449 -lt 1437057123 ']'
./test.sh: line 17: [: path/1437043449: integer expression expected
T Приветствую вас. Al.
Добавить 'set -x' в начало вашей функции, чтобы вы могли видеть, что происходит. – meuh