Вы можете запустить команду внутри $( )
, так что вы можете напрямую сказать:
date -d "$(command)" + "%s"
В вашем случае:
date -d "$(sed -n -e 's/^.*Expire: //p' /tmp/myfile.log)" + "%s"
Заметьте также, что я говорю sed '...' file
вместо cat file | sed '...'
, так как sed
может напрямую читать из файла.
Что вы должны сделать, так это прекратить попытки писать программы для MS/PC -DOS. Вы используете совершенно другую операционную систему.
conio.h
— это один из заголовков, который содержит привязки языка C к DOS API. Программы, использующие его, являются программами MS/PC -DOS.
Люди скажут вам, что проклятия «делают то же самое». На самом деле это не так, поскольку консольный API DOS имеет совершенно другую парадигму по сравнению с полноэкранными -TUI, построенными на вводе-выводе терминала POSIX. Перенос с одного на другой не так же прост, как изменение заголовочного файла. (В компиляторах для OS/2 и Windows NT были заголовки совместимости, потому что эти операционные системы имеют «консольные» парадигмы ввода-вывода, которые гораздо лучше соответствуют консольному API DOS. )И это еще не учитывает тот факт, что существовало два варианта консольного API, использовавшегося в старом коде DOS, Borland/Watcom и Microsoft.
Правильное изменение состоит в том, чтобы просто забыть о DOS API 30-летней давности и написать программу, которая использует реальные API вашей операционной системы. :Терминальный ввод-вывод POSIX с выбранной вами библиотекой TUI., X11 с выбранным вами набором инструментов или любым другим.