From: Vic Glass @injersey.infi.net
From: Vic Glass @injersey.infi.net
> I need to monitor the output of a program and start a script when > a specific word is in the output. That is, whenever the program > writes ADMIN, I want to be automatically notified.
A Bourne Shell solution:
tail -f |
while read line
do
if expr "$line" : '.*ADMIN.*'
then
mailx you <<-!
message of your choice
!
fi
done
documented on: 04-25-99 13:26:51
#!/bin/sh
# xargs1
# Almost like xargs but,
# It fix n=1 (one parameter at a time), and it can use more than one
# instance of {} to represent the
#set -xv
if [ "$1" = "-v" ] ; then
sonly=1 # show cmd to be executed only
shift
else
sonly=0
fi
# if no {} supplied on command line,
# add at the end
echo $* | grep '\{\}' >/dev/null
if [ $? -eq 1 ] ; then set -- $* "{}" ; fi
while read ii ; do
cmd=`echo $* | sed -e "s|{}|$ii|g"`
echo
echo ">$cmd"
#X exec $cmd # only once!?
if [ !$sonly ] ; then eval $cmd ; fi
# *N*: "! $sonly" will not work!
# no space allowed after "!"
# also can issure $cmd directly without eval, if no redirect envolved
done
> #!/bin/sh > > set -- "hinv" "df -k" "gfxinfo" "uname -a" # etc. > > for cmd in "$@"; do > echo "$cmd" > echo "\n\n$cmd\n--------------------" >> temp$$ > $cmd >> temp$$ > done
> cat t_lc
#!/bin/csh
#
#echo $*
foreach i ( $* )
set newfile = `echo $i | tr '[A-Z]' '[a-z]'`
echo $newfile
mv $i $newfile
end
|
|
specifing '#!/bin/csh' in vitally important! otherwise, won't work. |
> cat t_u
#!/bin/csh
#
#echo $*
foreach i ( $* )
set newfile = `echo $i | tr '[A-Z]' '[a-z]'`
echo $newfile
dos2unix $i $newfile
rm $i
end
#!/bin/csh
#
#echo $*
foreach i ( $* )
set newfile = `echo $i | tr '[A-Z]' '[a-z]'`
#echo $newfile
unix2dos $i $newfile
rm $i
end
#!/bin/csh
#
#echo $*
foreach i ( $* )
set newfile = `echo $i | tr '[a-z]' '[A-Z]'`
#echo $newfile
mv $i $newfile
end
documented on: 11:43:05
awk -F\t '{print $2}' <lget-log.txt | sort | uniq >url.lst
grep '/$' url.lst | xargs -n 1 lwp-download -qbl lget-log.txt
cut -c6- common | perl -pe 's/^(.*)\n/"$1", /'
— add "", to word and del the \n
documented on: Thu 03-18-99 19:40:14