All of lore.kernel.org
 help / color / mirror / Atom feed
From: urgrue <urgrue@tumsan.fi>
To: Michael French <mfrench@ashevillemail.com>
Cc: linux-admin@vger.kernel.org
Subject: Re: Scripting question
Date: Thu, 23 Jan 2003 09:40:06 +0200	[thread overview]
Message-ID: <20030123074006.GA7952@fede2.tumsan.fi> (raw)
In-Reply-To: <000901c2c29e$46f751f0$0700a8c0@amr.corp.intel.com>; from mfrench@ashevillemail.com on Thu, Jan 23, 2003 at 07:14:15 +0200

everyone is gonna tell you to learn a "real" scripting language, but i 
wont.
yeah, shell scripts are slow and ugly but, after all, it works, and its 
easier than blowing your nose.
anyway i dont have the time to learn perl, so there.

i think it would be easiest to first combine the two files nodeinfo.txt 
and mbtotals.txt into one with three columns, using for example any 
spreadsheet program.
then you can just do something like:
while read LINE
do
NODES=`echo $LINE | awk '{print $1}'`
CUSTOMER=`echo $LINE | awk '{print $2}'`
TOTAL=`echo $LINE | awk '{print $3}'`
echo -e $NODES\t$CUSTOMER\t$TOTAL >> tmpfile
done < nodeinfo.txt

its much easier to work with one file only. otherwise, all i can think 
of is using sed/awk somehow. maybe like:
while read LINE
do
NODES=as above
CUSTOMER=as above
WHAT_LINE_ARE_WE_ON=1
TOTALS=<use awk or sed to print the Nth line of mbtotals.txt, ie the 
$WHAT_LINE_ARE_WE_ONth line>
add one to $WHAT...
echo all to a file >> tmpfile
done < nodeinfo.txt



>     I have a couple of scripts that I am working on that pull data
> from an
> application and print a human readable report from the data.  I have
> all of
> the data pulled and stored in variables, but I am stumped on how to
> put in
> all in one file.  I hope that I can clearly explain this, here goes.
> 
>     For one script, I have three pieces of info to report: node name,
> customer name, and total data stored.  The first two bits of data are
> getting pulled out together and stored in one file.  The third bit is
> being
> calculated and then stored in a second file.  I then get the data in
> like
> this:
> 
> NODES=`cat nodeinfo.txt | awk '{print $1}'`
> CUSTOMER=`cat nodeinfo.txt | awk '{print $2}'`
> MBTOTALS=`cat mbtotals.txt`
> 
> I then need to print out a report like:
> 
> Nodes        Customer        MB
> ----------------------------------
> node1           customer1        20.0
> 
> How can I do this?  I can't seem to figure out how to do it with one
> for
> loop.
> 
>     I have another little script I am working on to report restore
> data and
> it has one temp file holding all of the info I need and is greping out
> about
> 10 different pieces of data I need before overwriting the temp file
> with the
> info on the next node.  The problem I have run into is that some of
> the
> restores have duplicate data in them so I am going to have to rewrite
> the
> report to put the data in variables and then loop through them to
> generate a
> report just like the one above, except with more variables so you can
> see
> why I am trying to figure out how to do this as cleanly as possible.
> Maybe
> I am starting off all wrong so feel free to redirect me.  Also, I am
> using
> Korn shell to do this (my only option).
> 
> Thanks!
> 
> Michael French
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-admin"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  parent reply	other threads:[~2003-01-23  7:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-23  5:14 Scripting question Michael French
2003-01-23  5:32 ` Andrew B. Cramer
2003-01-23  7:40 ` urgrue [this message]
2003-01-23  8:38   ` Jude DaShiell
2003-01-24  0:46 ` rich+ml
2003-01-24  0:50   ` rich+ml
2003-01-24  2:34     ` Michael French
  -- strict thread matches above, loose matches on Subject: below --
2003-01-23 13:49 johnjulian1
2003-01-24  2:30 ` Mikhail Romanenko
2004-03-31 21:15 Scripting Question Scott@Charter
2004-03-31 22:08 ` Richard Nairn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030123074006.GA7952@fede2.tumsan.fi \
    --to=urgrue@tumsan.fi \
    --cc=linux-admin@vger.kernel.org \
    --cc=mfrench@ashevillemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.