Если ваш grep
поддерживает Perl-совместимые регулярные выражения (PCRE ), вы можете выполнить отрицательный просмотр вперед для одиночного пробела, за которым следует любой не -символ пробела:
grep -P '^A\.(?! \S)' file
или, если вы хотите объединить поиск по всем четырем A,B,C,D
grep -P '^[A-D]\.(?! \S)' file
Следуя совету Энди Далтона (, см. комментарий к вашему вопросу ), это лучший способ сделать это.
Но если вы действительно хотите, чтобы программа это делала, ее легко написать:
int main(void) { sleep(5); system("shutdown -h now"); }
Если вы поместите это в secondsshutdown.c
и скомпилируете с помощью gcc secondsshutdown.c -o secondsshutdown
, оно должно делать то, что вы хотите.
(Этот код можно улучшить, чтобы больше не возникало предупреждений при компиляции или чтобы убедиться, что он принимает параметры. Я не стал этого делать здесь, чтобы было легче читать)