Накопить имя файла в файле журнала, используя сценарий оболочки

У меня есть файлы с их именами как

ABC_-_123321.20140505_-_161500.CSV
ABC_-_654145.20140506_-_135020.CSV
String_-_SerialID. Date _-_ Time .CSV

StartDate, StartTime, EndDate и EndTime приводятся в качестве входных данных.

Как я могу получить все имена файлов (или относительные пути), имеющие дату и время между указанными диапазонами дат и времени, и записать их в файл журнала с помощью сценария оболочки?

Дата и время не являются последней доступной или измененной датой / меткой времени, и в именах файлов нет пробелов.

И я могу либо вводить дату и время отдельно, без какого-либо разделителя между полями, например
20140706
165030
или я могу принять ввод как
20140706165030

Алгоритм для выполнения этой работы:

для каждого файла получить дату и сделать разницу с датой. Пожалуйста, найдите приведенную ниже ссылку для разницы дат.

ссылка

Для solaris (unix без GNU date) используйте эту ссылку

Если вы хотите, чтобы время было мутным, внутренняя дата цикла цикла использует время. Чтобы получить разницу во времени, вы можете использовать следующий код

  time1=14:30 time2=$( date +%H:%M ) # 16:00 diff=$( echo "$time2 - $time1" | sed 's%:%+(1/60)*%g' | bc -l ) echo $diff hours # outputs 1.5 hours 

Здесь sed заменяет : формулой для преобразования в 1/60. Затем расчет времени, который производится с помощью bc (щелкните ссылку для получения дополнительной информации).

Примечание. Если значение DIFFERENCE равно + ve, тогда журнал / контент можно поместить в назначенный файл, иначе