используя таракана внутри с - PullRequest
0 голосов
/ 15 марта 2012

Может кто-нибудь, пожалуйста, дайте мне знать, как я могу использовать следующую команду gawk в c?как мы используем некоторые команды оболочки внутри c, используя функцию «system».далее я хочу дать число в приведенной ниже команде, т.е. 6,2,8 в качестве параметров.

gawk -v FIELDWIDTHS='6 2 8' 'NR!=1 && x==$1{printf(" %d:%d",strtonum("0x"$2),strtonum("0x"$3)); next}; {x=$1; printf("%s%s %d:%d", NR==1?"":"\n", $1,strtonum("0x"$2),strtonum("0x"$3))}; END{print ""}' input.txt | sed '/^[0-9a-f]* [0-9:]*$/d' > result.txt

спасибо, любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 15 марта 2012

Вы, вероятно, могли бы создать строку с переменными, используя snprintf, а затем передать команду popen, которая возвращает файл с выводом. Например:

char buffer[1024];
snprintf(buffer, sizeof(buffer), "<insert command here>", var1, var2);
FILE output = popen(buffer, "r");

Я знаю, что вы направили вывод в result.txt в вашей команде, однако, если вы просто собираетесь использовать вывод в вашей c-программе, файла, возвращаемого popen, должно быть достаточно. Я сам не пробовал, поэтому дайте мне знать, если это работает.

...