Я попробовал использовать следующие методы, и они тоже сработали
for i in `cat patternfile`; do sed -n '/'$i'/p' examplefile >file_$i.txt ; done
examplefile===> datafile
patternfile===> Consists of data which contains pattern which need to be searched in examplefile
after each pattern search output will be saved in "file_pattern.txt"
Оба Ctrl + C и Ctrl + Z работают для меня либо в окне терминала, либо в буфере оболочки Emacs.
Причина, по которой он не работает, может зависеть от типа используемого вами терминала. Возможно, он перегружен выводом программы и тогда не успевает обрабатывать ввод с клавиатуры.
Попробуйте это и посмотрите, решит ли это вашу проблему:
#include <stdio.h>
#include <unistd.h>
void process(void)
{
int i;
for (i = 0; i < 20; i++)
{
printf("hello world!\n");
sleep(1);
}
printf("!!!!!!end of print!!!!!!\n");
}
void main(void)
{
process();
}