[SunHELP] find in file script..
Sandwich Maker
adh at an.bradford.ma.us
Thu Jun 19 10:45:56 CDT 2003
"if is not working tell me because I've put the script without test ...
"Adrian.
"
"On Tue, 10 Jun 2003 Enjoyer at aol.com wrote:
"
"> I'm trying to find a "printer" in /etc/hosts... remove it... then run
"> lpadmin -x "printer",
"
"
"From: Adrian.Florea at alcatel.ro
"
"try this:
"
"--- begin ----
"
"#!/bin/sh
"PRINTERNAME=`awk '{if ($1 ~ /printer_ip/) { print $2; exit}}' /etc/hosts`
"if sed -e "/$PRINTERNAME/d" /etc/hosts >/etc/hosts.new; then
" cp /etc/hosts.new /etc/hosts
"fi
"lpadmin -x $PRINTERNAME
"
"--- end ----
trivially simplifiable to
--- begin ----
#!/bin/sh
PRINTERNAME=`awk '{if ($1 ~ /printer_ip/) { print $2; exit}}' /etc/hosts`
sed -e "/$PRINTERNAME/d" /etc/hosts >/etc/hosts.new &&
cp /etc/hosts.new /etc/hosts
lpadmin -x $PRINTERNAME
--- end ----
or, in ksh:
--- begin ----
#!/usr/bin/ksh
# handles any number of network printers at one go.
(( $# )) || { print -u2 "no arg! specify an IP."; exit 1; }
exec 3</etc/hosts 4>/etc/hosts.new
while read -u3 HOSTLINE
do
set -A HOSTWORD $HOSTLINE
PRINTERNAME=""
for PRINTER_IP in "$@"
do
[ "${HOSTWORD[0]}" = "$PRINTER_IP" ] &&
PRINTERNAME=${HOSTWORD[1]}
done
if [ -n "$PRINTERNAME" ]
then lpadmin -x $PRINTERNAME
else print -u4 "$HOSTLINE"
fi
done
cp /etc/hosts.new /etc/hosts
--- end ----
that's enough triviality for now...
________________________________________________________________________
Andrew Hay the genius nature
internet rambler is to see what all have seen
adh at an.bradford.ma.us and think what none thought
More information about the SunHELP
mailing list