В принципе, у меня есть 2 копии набора CSV-файлов в отдельных каталогах. 1 копия - сегодняшние данные, а другая - вчерашние данные. Сценарий, который у меня есть, делает резервное копирование только один раз в день, так что часто мне это нужно для запуска. То, что я хочу сделать, это сравнить их, чтобы проверить, совпадают ли файлы, и если в течение 14 дней один и тот же набор файлов был таким же, а затем отправляйте уведомление по электронной почте, уведомляя меня и моих коллег о том, что конкретный файл hasn ' t изменено.Мне нужно сравнить файлы в 2 каталогах и уметь определять, как долго каждый набор файлов был одинаковым в Bash
Итак, я уже получил сравнения часть вниз:
дифф DIR_1 DIR_2 кв | sort> compare_results.txt
Однако, теперь я хочу прочитать файл и иметь счетчик для каждой строки, чтобы я знал, сколько дней каждый набор файлов был одинаковым, с выходом в отдельных столбцах.
В идеале, 3 столбца будут $ name_of_file | файлы одинаковые? | сколько дней они были одинаковыми?
У меня есть время цикла начала для чтения каждой строки, но я не уверен, как прогресс:
в то время как линия чтения; сделать
counter=0
if [[ $line == *"not identical"* ]]
then
$something
else
((counter += 1))
$something_else
done < comparison_results.txt
В случае необходимости, я могу написать весь этот вывод в файл, а затем прочитать файл, и если столбец счетчика имеет какие-либо 14s или выше, а затем отправить уведомление по электронной почте.
По существу, мой вопрос состоит в том, как читать каждую строку и отправлять ее в файл с тремя столбцами, а затем с уведомлением по электронной почте, если какой-либо из файлов был таким же в течение 14 дней или более?
... но если у вас есть * актуальный вопрос *, я бы предложил попытаться извлечь его и сделать его более понятным. См. Также http://stackoverflow.com/help/how-to-ask, и особенно http://stackoverflow.com/help/mcve –
Лично, кстати, я бы подумал о отслеживании отметки времени в эпоху-времени для первого было обнаружено, что два файла были одинаковыми и просто проверяли случаи, когда эта метка времени больше (14 * 3600) секунд назад. Таким образом, вы не имеете дело со счетчиком, и ваш сценарий может быть повторно запущен кучей раз в тот же день, не нарушая логики (аналогично, логика не будет нарушена, пропуская день и т. Д.). –
Я редактировал сообщение, чтобы помочь прояснить вопрос. Мне нужен только сценарий для запуска один раз в день, поэтому я не уверен, что временная метка будет необходима. Если, конечно, это было бы проще в обращении, чем счетчик. –