#! /bin/sh
# marchie --- pretty front end for typical archie sessions
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1995-06-12
# Public domain

# $Id: marchie,v 1.4 1997/12/30 02:05:46 friedman Exp $

# Commentary:

# This script fetches output from archie and formats entries one-per-line
# in the form
#
#   size url
#
# e.g.:     1729 ftp://prep.ai.mit.edu/pub/gnu/README

# Reasonably fast archie servers:
#       archie.rutgers.edu
#       archie.unl.edu
#       archie.doc.ic.ac.uk
#       archie.au
#       archie.unit.no   (has been gone since mid 1995, it seems)
#
# Also try: http://ftpsearch.unit.no/ftpsearch

# Code:

server="${MARCHIESERVER-archie.rutgers.edu}"

archie_version=`archie -v 2>&1`

case "$archie_version" in
  'Client version 1.4.1'* ) hostflag=h ;;
  * )                       hostflag=H ;;
esac

archie -$hostflag $server -sl -m 500 ${1+"$@"} \
 | sed -ne 's/[ 	][ 	]*/ /g
            s/^[^ ]*  *//;
            s=\([0-9]*\) \([^ ]*\) \(.*\)=\2 \3 \1=
            h
            s/ .*//

            G
            s/\(.*\)\(\n\).*/\2\1./
            :1
              s/\(.*\)\(\n.*[@.]\)\([^@.][^@.]*[@.]\)$/\1\3\2/
            t 1
            s/\n//
            s/\.$//

            G
            s/\n[^ ]*  */ /
            p
            ' \
 | sort -u +0 \
 | sed -ne 'h
            s/ .*//

            G
            s/\(.*\)\(\n\).*/\2\1./
            :1
              s/\(.*\)\(\n.*[@.]\)\([^@.][^@.]*[@.]\)$/\1\3\2/
            t 1
            s/\n//
            s/\.$//

            G
            s/\n[^ ]*  *//
            s=^=ftp://=
            p' \
 | awk '{ printf("%8s %s\n", $2, $1)}'

# marchie ends here
