URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9064
[ Назад ]

Исходное сообщение
"Поиск слов"

Отправлено mikemike , 11-Мрт-11 15:55 
Здравствуйте перед до мною стоит задача поиска в файла слов заданной длины и вывод их на экран, при это используя только системные вызовы Unix'a, подскажите есть ли какой нибудь системный вызов который может мне помочь,вообще можно использовать execl,cat,sort,fork,dup,ts,т.е. открыть файл напрямую через open и считывать его-нельзя

Содержание

Сообщения в этом обсуждении
"Поиск слов"
Отправлено Вова , 11-Мрт-11 18:43 
> Здравствуйте перед до мною стоит задача поиска в файла слов заданной длины
> и вывод их на экран, при это используя только системные вызовы
> Unix'a, подскажите есть ли какой нибудь системный вызов который может мне
> помочь,вообще можно использовать execl,cat,sort,fork,dup,ts,т.е. открыть файл напрямую
> через open и считывать его-нельзя

Такого системного вызова - нет.


"Поиск слов"
Отправлено DeadLoco , 11-Мрт-11 22:03 
> Такого системного вызова - нет.

Зато есть egrep.
   cat filename | egrep -o "\b\w{n}\b"
где n - длина слова.


"Поиск слов"
Отправлено Вова , 12-Мрт-11 10:08 
>> Такого системного вызова - нет.
> Зато есть egrep.
>    cat filename | egrep -o "\b\w{n}\b"
> где n - длина слова.

fork  + pipe


"Поиск слов"
Отправлено DeadLoco , 12-Мрт-11 12:16 
> fork  + pipe

"..вообще можно использовать execl,cat,sort,fork,dup,ts.."


"Поиск слов"
Отправлено mikemike , 12-Мрт-11 13:58 
>> fork  + pipe
> "..вообще можно использовать execl,cat,sort,fork,dup,ts.."

да я думаю и eqrep сойдет


"Поиск слов"
Отправлено mikemike , 12-Мрт-11 14:09 
>>> 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);
}



"Поиск слов"
Отправлено Вова , 12-Мрт-11 17:14 
>> fork  + pipe
> "..вообще можно использовать execl,cat,sort,fork,dup,ts.."

вопрос сформулирован как "есть ли системный вызов, который мне помочь"
И правильный ответ -  fork/clone/pipe.