Dave Korn wrote on 4/3/2007 :
On 03 April 2007 15:46, Kevin Markle wrote:
Dave Korn pretended :
What are you *trying* to do with that second grep?
There are 2 files related to each client listed in the file
1group_1a_dev_clientlist.out the first grep grabs both files and the
second one get the specific log with the work windows in it:
[EMAIL PROTECTED] /cygdrive/e/wsus/group_1a_DEV
$ ls -al
total 27992
drwxrwxrwx+ 2 Administrators ???????? 0 Apr 2 16:51 .
drwx------+ 6 Administrators ???????? 0 Apr 3 10:41 ..
-rwx------+ 1 Administrators ???????? 1284874 Mar 29 01:19
bvapp1_WINDOWSUpdate.log
-rwx------+ 1 Administrators ???????? 27394 Apr 3 10:03
bvapp1_asr.log
DIR="cygdrive/e/wsus/group_1a_DEV"
for t in `cat $DIR/1group_1a_dev_clientlist.out`
do
echo $t
#LOG=`ls -al $FILE | grep $T | grep WINDOWS | gawk '{print $9}'`
#LOG=`ls -al cygdrive/e/wsus/group_1a_DEV | grep $t | grep WINDOWS |
gawk '{print $9}'`
LOG=`ls -al $DIR | grep $t | grep WINDOWS`
echo $t
echo The value of LOG is $LOG
UPDATES_NEEDED=`cat $LOG | grep "updates detected" | tail -1`
echo $UPDATES_NEEDED
done
So, what output do you see when you run it? I see
/artimi/software/firmware $ ./script
bvapp1_WINDOWSUpdate.log
bvapp1_WINDOWSUpdate.log
The value of LOG is -rw-r--r-- 1 dk Domain Users 0 Apr 3 15:54
bvapp1_WINDOWSUpd
ate.log
cat: invalid option -- r
Try `cat --help' for more information.
bvapp1_asr.log
bvapp1_asr.log
The value of LOG is
... and then it hangs, waiting for cat, as before. Note that you probably
want to be using "ls -1", not "ls -l" (that's a digit one instead of letter
l). What is actually in your 1group_1a_dev_clientlist.out file? Can you
please double check it really does have the relevant filenames in it? Try
adding some extra lines around where you set LOG:
LOG1=`ls -al $DIR`
echo LOG1 is ${LOG1}
LOG2=`ls -al $DIR | grep $t`
echo LOG2 is ${LOG2}
LOG3=`ls -al $DIR | grep $t | grep WINDOWS`
echo LOG3 is ${LOG3}
***PING! <lightbulb noise>
I bet you have dos line endings in your 1group_1a_dev_clientlist.out file.
That means that in the lines:
for t in `cat $DIR/1group_1a_dev_clientlist.out`
do
echo $t
t is not equal to "bvapp1_WINDOWSUpdate.log", it is equal to
"bvapp1_WINDOWSUpdate.log\r", which is not the name of the file! You should
be able to fix this by either running d2u on the
1group_1a_dev_clientlist.out file, or you could replace the for loop in your
script like so:
for t in `cat $DIR/1group_1a_dev_clientlist.out | d2u`
cheers,
DaveK
Thank you thank you and thank you that was it oh any by the way Thank
you!
No longer frustrated :D :D
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/