Как завершить трубу grep после первого матча - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь выполнить следующий код в моей C-программе, но кажется, что ключ -m1 не может завершить канал.В результате программа продолжает чтение всего файла 16 ГБ.Любая помощь будет заметна.

char *cmd=NULL;
cmd = malloc (200);
if (cmd != NULL) {
    strcpy (cmd, "sudo hexdump -v -e '");
    strcat(cmd,"\"");
    strcat(cmd,"%010_ad |");
    strcat(cmd,"\"");
    strcat(cmd," 100000/1 ");
    strcat(cmd,"\"");
    strcat(cmd,"%_p");
    strcat(cmd,"\"\"");
    strcat(cmd,"|\\n");
    strcat(cmd,"\"");
    strcat(cmd,"' -s 2437150492 /run/SDdownload.dd | grep -m 1 -E -o ");
    strcat(cmd,"\"");
    strcat(cmd,"single_install Secure cloud storage and file sharing");
    strcat(cmd,"\"");
    strcat(cmd,">./files/Sync.com/installation.txt");

    printf("Command -> %s\n",cmd);
    system(cmd);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...