«Растровый шрифт» звучит как командное окно Windows (и, кстати, не является шрифтом TrueType). Можно установить консольные шрифты Linux, но это специально созданные шрифты (не генерируются и не переводятся автоматически из шрифтов Windows). Если кто-то не сделал один из шрифтов консоли Linux, чтобы имитировать внешний вид Windows, вам не повезло.
Дополнительная литература:
Идея состоит в том, чтобы сначала преобразовать время эпохи (секунд с 1970 года -01 -01 00 :00 :00 UTC ), затем добавить продолжительность и, наконец, преобразовать обратно в предыдущее обозначение:
DateTime_epoch_time=$(date +%s -d $DateTime)
CallEndTime_epoch_time=$(("$DateTime_epoch_time" + $TotalDuration))
CallEndTime=$(date '+%Y-%m-%d %H:%M:%S' -d @$CallEndTime_epoch_time)
Или в одну строку:
date '+%Y-%m-%d %H:%M:%S' -d @$(($(date +%s -d "$DateTime") + $TotalDuration))
Подробнее об управлении форматами даты см. man date
Например, я принял значения общей продолжительности за 1000
Ниже приведен образец формата примера, который я взял, который является образцом, как вы разместили, кроме последнего столбца
2018 -12 -18 18 :36 :55, callendtime, KeywordTagTexts, 1000
Пожалуйста, прокомментируйте любые исправления или изменения
Шаг 1
Преобразование столбца1 (даты и времени в секундах)
datetime_in_seconds=$(date -d "`awk -F "," '{print $1}' example.txt`" +%s)
шаг 2
Добавление столбца 1 (даты и времени )и последнего столбца (Общая продолжительность )Для расчета CallEndTime
k=$((datetime_in_seconds + duration_in_seconds))
Теперь значение печатается в исходном формате
Последняя команда
awk -F "," -v k="$k" 'OFS=","{$2=$2"="k;print $0}' example.txt
Выход
2018-12-18 18:36:55,callendtime=1545188015,KeywordTagTexts,1000