| version 1.2, 2006/03/04 10:43:38 | version 1.5, 2020/10/03 08:24:14 | 
|  |  | 
| /* $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 <stdio.h> | #include <stdio.h> | 
| #include <stdlib.h> | #include <stdlib.h> | 
| #include <string.h> | #include <string.h> | 
|  |  | 
| It greps files and outputs an html file to browse the files. | 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. | 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. | 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: | Example: | 
|  | export LC_ALL="C" | 
| s.txt contains "insubunkai" | 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 Sjis = 0; | 
| int LeaveTag = 0; | int LeaveTag = 0; | 
| main(int argc, char *argv[]) { | int main(int argc, char *argv[]) { | 
| int i,m,pid,n, cpos,start; | int i,m,pid,n, cpos,start; | 
| char *com; | char *com; | 
| char workf[256]; | char workf[256]; | 
| 
| Line 27  main(int argc, char *argv[]) { |  | 
| Line 30  main(int argc, char *argv[]) { |  | 
| char s[SSIZE]; | char s[SSIZE]; | 
| char ss[SSIZE*2]; | char ss[SSIZE*2]; | 
| FILE *fp; | FILE *fp; | 
|  | int r; | 
| m = 256; | m = 256; | 
| pid = getpid(); | 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<argc; i++) { | for (i=1; i<argc; i++) { | 
| m += strlen(argv[i])+1; | m += strlen(argv[i])+1; | 
| } | } | 
| 
| Line 45  main(int argc, char *argv[]) { |  | 
| Line 57  main(int argc, char *argv[]) { |  | 
| } | } | 
| sprintf(workf,"/tmp/tmp-oxgreph-%d.txt",pid); | sprintf(workf,"/tmp/tmp-oxgreph-%d.txt",pid); | 
| sprintf(&(com[strlen(com)]),">%s",workf); | sprintf(&(com[strlen(com)]),">%s",workf); | 
| system(com); | r=system(com); | 
|  |  | 
| printf("<ol>\n"); | printf("<ol>\n"); | 
| fp = fopen(workf,"r"); | fp = fopen(workf,"r"); | 
| 
| Line 82  main(int argc, char *argv[]) { |  | 
| Line 94  main(int argc, char *argv[]) { |  | 
| } | } | 
| printf("</ol>\n"); | printf("</ol>\n"); | 
| sprintf(com,"rm -f %s",workf); | sprintf(com,"rm -f %s",workf); | 
| system(com); | r=system(com); | 
|  | return 0; | 
| } | } |