=================================================================== RCS file: /home/cvs/OpenXM/src/util/oxgreph.c,v retrieving revision 1.2 retrieving revision 1.5 diff -u -p -r1.2 -r1.5 --- OpenXM/src/util/oxgreph.c 2006/03/04 10:43:38 1.2 +++ OpenXM/src/util/oxgreph.c 2020/10/03 08:24:14 1.5 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/util/oxgreph.c,v 1.1 2006/03/04 07:48:12 takayama Exp $ */ +/* $OpenXM: OpenXM/src/util/oxgreph.c,v 1.4 2009/02/22 17:30:03 ohara Exp $ */ #include #include #include @@ -11,15 +11,18 @@ It greps files and outputs an html file to browse the files. Keyword should be given in euc or utf-8 depending on the coding system of the files. It does not add meta section of html file. + Locale must be "C" to use this program or use -f option to read keyword. Example: + export LC_ALL="C" s.txt contains "insubunkai" - oxgreph --sjis `cat s.txt` $OpenXM_HOME/doc/cfep/html-ja_JP.sjis/html-jp/*.html >t.html + oxgreph "`nkf -w s.txt`" $OpenXM_HOME/doc/cfep/html-ja_JP.utf8/html-ja/*.html >t.html + oxgreph --sjis "`nkf -s s.txt`" $OpenXM_HOME/doc/cfep/html-ja_JP.sjis/html-ja/*.html >t.html */ int Sjis = 0; int LeaveTag = 0; -main(int argc, char *argv[]) { +int main(int argc, char *argv[]) { int i,m,pid,n, cpos,start; char *com; char workf[256]; @@ -27,8 +30,17 @@ main(int argc, char *argv[]) { char s[SSIZE]; char ss[SSIZE*2]; FILE *fp; + int r; m = 256; pid = getpid(); + if (argc < 2) { + fprintf(stderr,"oxgreph [--leaveTag] args_to_grep \n"); + fprintf(stderr,"Note: LC_ALL should be C on some systems or use -f to give the pattern.\n"); + fprintf(stderr,"Example 1: oxgreph \"`nkf -w s.txt`\" $OpenXM_HOME/doc/cfep/html-ja_JP.utf8/*.html >t.html\n"); + fprintf(stderr,"Example 2: oxgreph -f s.txt $OpenXM_HOME/doc/cfep/html-ja_JP.utf8/*.html >t.html\n"); + fprintf(stderr," The keyword is stored in s.txt.\n"); + exit(0); + } for (i=1; i%s",workf); - system(com); + r=system(com); printf("
    \n"); fp = fopen(workf,"r"); @@ -82,5 +94,6 @@ main(int argc, char *argv[]) { } printf("
\n"); sprintf(com,"rm -f %s",workf); - system(com); + r=system(com); + return 0; }