Здравствуйте перед до мною стоит задача поиска в файла слов заданной длины и вывод их на экран, при это используя только системные вызовы Unix'a, подскажите есть ли какой нибудь системный вызов который может мне помочь,вообще можно использовать execl,cat,sort,fork,dup,ts,т.е. открыть файл напрямую через open и считывать его-нельзя
> Здравствуйте перед до мною стоит задача поиска в файла слов заданной длины
> и вывод их на экран, при это используя только системные вызовы
> Unix'a, подскажите есть ли какой нибудь системный вызов который может мне
> помочь,вообще можно использовать execl,cat,sort,fork,dup,ts,т.е. открыть файл напрямую
> через open и считывать его-нельзяТакого системного вызова - нет.
> Такого системного вызова - нет.Зато есть egrep.
cat filename | egrep -o "\b\w{n}\b"
где n - длина слова.
>> Такого системного вызова - нет.
> Зато есть egrep.
> cat filename | egrep -o "\b\w{n}\b"
> где n - длина слова.fork + pipe
> fork + pipe"..вообще можно использовать execl,cat,sort,fork,dup,ts.."
>> fork + pipe
> "..вообще можно использовать execl,cat,sort,fork,dup,ts.."да я думаю и eqrep сойдет
>>> fork + pipe
>> "..вообще можно использовать execl,cat,sort,fork,dup,ts.."
> да я думаю и egrep сойдетпочему не работает
#include <unistd.h>
#include <stdlib.h>
int main(int argc,char* argv[])
{
execl("/usr/bin/egrep","egrep","-o","\"\\b\\w{",argv[2],"}\\b\"",argv[1],(char*)0);
exit(0);
}
>> fork + pipe
> "..вообще можно использовать execl,cat,sort,fork,dup,ts.."вопрос сформулирован как "есть ли системный вызов, который мне помочь"
И правильный ответ - fork/clone/pipe.