Return to BSD News archive
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!uwm.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!gatech!purdue!news.bu.edu!dartvax.dartmouth.edu!coos!bradv
From: "Volker E. Bradley" <bradv@coos>
Newsgroups: comp.os.386bsd.questions
Subject: Re: Can you compile a small script for me?
Date: Thu, 16 Mar 1995 10:36:09 -0500
Organization: Dartmouth College, Hanover, NH, USA
Lines: 95
Message-ID: <Pine.ULT.3.91.950316102139.19949A-100000@coos>
References: <Pine.ULT.3.91.950316082035.15122A-100000@coos>
NNTP-Posting-Host: coos.dartmouth.edu
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
In-Reply-To: <Pine.ULT.3.91.950316082035.15122A-100000@coos>
My previous message contained 2 errors in the script. They have been
corrected here.
/*zuke.c--program to save http addresses
copyright John Zureick 1/26/95
zuke is a utility I thought up to ease surfing the net. What it does is
take standard input, searches it for two strings: http// and ftp//.
Then it takes the address it finds and outputs it to a file in html
format (I HOPE!) into a file specified earlier in the program-- change
this to whatever name you like but keep the html extension or lynx will
not recognize it!
The best example to use this is using the trn newsreader. Go into a
newsgroup you are interested in. Do a /http/a command. This will select
all articles with the string "http" in the text. Then do a :zuke
command. This will run all those articles through the zuke program. You
will then have a page full of possibly interesting links! After leaving
trn, go into lynx and invoke it with the name of the file created by zuke.
*/
#include <stdio.h>
#include <stdlib.h>
#define outfile "my.html" /*put a valid file name on your system here
then invoke lynx with this file name*/
int main()
{
FILE* stream;
char c,inline[512],http[512],templine[512];
int x;
/* open file ly.dat*/
stream = fopen(outfile,"a");
if (stream == NULL)
printf("Could not open output file\n");
while (gets(inline)!=NULL)
{
/*find all occurrences of http addresses */
if (strstr(inline,"http://")!=NULL)
{
x=strstr(inline,"http://");
strcpy(http,x);
/*let's isolate the http address*/
for (x=0;http[x]!=' '&& http[x]!='\0';x++);
http[x]='\0';
/*the rest to these clear up a possible garbage character
at the end of the address: includes (.,;:>) */
if (http[x-1]=='.')
http[x-1]='\0';
if (http[x-1]==',')
http[x-1]='\0';
if (http[x-1]==';')
http[x-1]='\0';
if (http[x-1]==':')
http[x-1]='\0';
if (http[x-1]=='>')
http[x-1]='\0';
fprintf(stream,"<LI><a href=\"%s\">%s</a>\n",http,http);
}
/*find all occurences of ftp addresses */
if (strstr(inline,"ftp://")!=NULL)
{
x=strstr(inline,"ftp://");
strcpy(http,x);
/*let's isolate the ftp address*/
for (x=0;http[x]!=' '&& http[x]!='\0';x++);
http[x]='\0';
/*the rest of these clear up a possible garabage character
at the end of the address: includes (.,;:>)*/
if (http[x-1]=='.')
http[x-1]='\0';
if (http[x-1]==',')
http[x-1]='\0';
if (http[x-1]==';')
http[x-1]='\0';
if (http[x-1]==':')
http[x-1]='\0';
if (http[x-1]=='>')
http[x-1]='\0';
fprintf(stream,"<LI><a href=\"%s\">%s</a>\n",http,http);
}
}
fclose(stream);
return(0);
}