фатальная ошибка при попытке скомпилировать программный код C?

Вы можете запустить команду внутри $( ), так что вы можете напрямую сказать:

date -d "$(command)" + "%s"

В вашем случае:

date -d "$(sed -n -e 's/^.*Expire: //p' /tmp/myfile.log)" + "%s"

Заметьте также, что я говорю sed '...' fileвместо cat file | sed '...', так как sedможет напрямую читать из файла.

0
05.01.2020, 09:41
1 ответ

Что вы должны сделать, так это прекратить попытки писать программы для 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 с выбранным вами набором инструментов или любым другим.

Дополнительная литература

1
28.01.2020, 02:17

Теги

Похожие вопросы