merging 2 files
Dan Kogai
c60c-3cf at e260-3f.berkeley.edu
Sat May 5 02:33:48 AEST 1990
In article <757 at sagpd1.UUCP> jharkins at sagpd1.UUCP (Jim Harkins) writes:
In article <757 at sagpd1.UUCP> you write:
>I need to change a lot of words with mixed upper and lower case letters into
>words of all lower case letters, from there I'm going to make a sed script
>to actually modify the words in our source. So how do I make my list?
>For example, I want to convert the list
>
>FooBar
>blaTZ
>GRMblE
>WhEe
>
>into
>
>FooBar foobar
>blaTZ blatz
>GRMblE grmble
>WhEe whee
>
>(from this second list it's trivial to create lines of sed commands like
>'/FooBar/foobar/g', and there are around 800 words in my list)
>
>Right now I have 2 files, one with the upper/lower case names, the second
>with just lower case names. I think I've been going down the wrong path
>here though. I'm now thinking of using sed directly but I'm no sed wizard.
>Join may also do the job but I'm having trouble deciphering the man page
>and none of my experiments to date have remotely resembled what I'm after.
>
>So, has anyone got any advice (outside of having a flunky use vi :-)?
>Thanks in advance.
Just write eine kline C code like the following:
/*
* mergeline.c
*/
#include <stdio.h>
#include <string.h>
main(int argc, char **argv){
FILE *file1, *file2;
char buf1[1024], buf2[1024]
if (argc != 3){ /* error */
fprintf(stderr "%s:usage: %s file1 file2\n", argv[0], argv[0]);
exit(1);
}
file1 = fopen(argv[1], "r"), file2 = fropen(argv[2], "r");
if (!file1){
fprintf(stderr "%s: couldn't open file: %s", argv[0], argv[1]);
exit(1);
}
if (!file2){
fprintf(stderr "%s: couldn't open file: %s", argv[0], argv[2]);
exit(1);
}
while (fgets(buf1, 1024, stdin) && fgets(buf2, 1024, stdout)){
/* strtok is necessary to get rid of NL fgets gives ya! */
printf("%s\t%s\n", strtok(buf1,'\n'), strtok(buf2, '\n'));
}
}
/* That's it! */
And you compile the program and give such name as "merge", then run
merge file1, file2. I chose tab to separate 2 entries but you can
modify my program or same thing could be done via sed|awk|etc.
Maybe I shoul've suggested using perl but I'm not perl expert and
c looked much easier. Good luck.
>My new investment plan GUARENTEES a 50% rate of return! Just mail me $10,000
>and I promise you'll get $5,000 back.
Well, I don't take your offer. You can be Craig Shergold's life
insurance contractor ;)
---
################## Dan The "I grok therefore I am God" Man
+ ____ __ __ + (Aka Dan Kogai)
+ ||__||__| + E-mail: dankg at ocf.berkeley.edu
+ ____| ______ + Voice: 415-549-6111
+ | |__|__| + USnail: 1730 Laloma Berkeley, CA 94709
+ |___ |__|__| + U.S.A
+ |____|____ + Disclaimer: I'd rather be blackmailed for my long .sig
+ \_| | + than give up my cool name in Kanji. And my
+ <- THE MAN -> + citizenship of People's Republic o' Berkeley
################## has nothing 2 do w/ whatever I post, ThanQ.
--
More information about the Comp.unix.questions
mailing list