[ale] bash assistance

The Don Lachlan ale-at-ale.org at unpopularminds.org
Tue Apr 26 21:53:47 EDT 2011


On Tue, Apr 26, 2011 at 06:01:22AM -0700, Damon Chesser wrote:
> df  -T output is:
> df -T /u008
> Filesystem    Type   1K-blocks      Used Available Use% Mounted on
> /dev/mapper/vgoradata-lv008dat
>           reiserfs   104854396  59278980  45575416  57% /u008
> The above is exactly as it appears in my term (at least in my email client)
> So why does df -T "$MNTP" |awk '{print $5}' produce “Available 57%” when
> the 6th field is actually the one that holds the %used?
> df -T /u008 |awk '{print $6}'
> Use%
> /u008
> And how can I clean up the output to only display %used as a number% like 57%?
> Is there a different command I can run to find this number? (I am looking
> for candidates for increased space).

Damon,

First, if you're combining grep with cut or awk, you should just be using
awk. If you're using awk without a search, you should just be using cut. I
didn't find any Useless Use of Cat, so you're ok there. :)

To fix the display:

# Ignore the header; join any other lines by tab
DF=`df -T "$MNTP" | tail -n +2 | tr "\012" "\011" | awk '{print $6}'`

and

echo "$VG $VGsize $LV $LVsize $MNTP Use% $DF"

If you want it to say "Use%", just print it, don't worry about grepping it
from df. I think that should set you straight.

-Don


> From: ale-bounces at ale.org [mailto:ale-bounces at ale.org] On Behalf Of Jim Kinney
> Sent: Tuesday, April 26, 2011 8:18 AM
> To: Atlanta Linux Enthusiasts
> Subject: Re: [ale] bash assistance
> 
> 
> $LVM in $DF not defined
> On Apr 26, 2011 7:38 AM, "Damon Chesser" <dchesser at acsi2000.com<mailto:dchesser at acsi2000.com>> wrote:
> > Believe it or not, this is above my rudimentary bash skills and I have hit a wall: So I am seeking advice or pointers.
> >
> > Scenario: recording Volume Group info on a server by server bases.
> >
> > It did not take me long to realize that I wanted to script this. I am putting the output of my script into a spread sheet (copy and paste). The servers I am running this on are remote and I have no convenient way to get the output text to my workstation, so copy and paste works.
> >
> > Desired output:
> >
> > VGname VGsize LVname LVsize LVmount_point %diskused
> >
> > I have all the above working up to LVmount where it all goes horribly bad. Here is my code:
> > -----start-----
> > #!/bin/bash
> >
> > FILE=/tmp/dlc/vginfo_script.txt
> >
> > rm $FILE
> >
> > for VG in `vgdisplay | grep -e "VG Name" | awk '{print $3}'`
> > do
> > VGsize=`vgdisplay $VG |grep -e "VG Size" | awk '{print $3 $4}'`
> > for LV in `vgdisplay -v $VG |grep "LV Name" | cut -d\/ -f4`
> > do
> > LVsize=`lvdisplay /dev/$VG/$LV | grep "LV Size" | awk '{print $3 " " $4}'`
> > # for MNTP in `mount |grep "$LVM" | awk '{print $3}'`
> > # do
> > # DF=`df -T "$MNTP" |awk '{print $6}'`
> > # done
> > echo $VG $VGsize $LV $LVsize $MNTP $DF
> > done
> > done > $FILE
> >
> > ---end----
> >
> > The above code, as written outputs this:
> >
> > vgorabak8 375.00GB lvorabak8 374.90 GB
> > vgorabak7 375.00GB lvorabak7 374.90 GB
> >
> > take out the # above and it does this:
> >
> > vgorabak8 375.00GB lvorabak8 374.90 GB /var/lib/ntp/proc Use% -
> > vgorabak7 375.00GB lvorabak7 374.90 GB /var/lib/ntp/proc Use% -
> >
> > No idea why. This makes my head hurt. I have tried everything I can think of. It seems I don't think enough!
> >
> > Any help would be appreciated.
> >
> >
> >
> >
> > Sincerely,
> >
> > Damon Chesser
> > dchesser at acsi2000.com<mailto:dchesser at acsi2000.com>
> >
> >
> >
> > ________________________________
> > Disclaimer: This electronic transmission and any attachments contain confidential information belonging to the sender. This information may be legally protected. The information is intended only for the use of the individual or entity named above. If you are not the intended recipient or receive this message in error, you are hereby notified that any disclosure, copying, distribution or taking of any action in reliance on or regarding the contents of this information is strictly prohibited. Please notify the sender immediately if you have received this information in error.
> >
> > www.acsi2000.com<http://www.acsi2000.com>
> 
> _____________________________________________________________________________
> Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www-935.ibm.com/services/us/index.wss/offerfamily/iss/a1026954
> _____________________________________________________________________________
> 
> ________________________________
> Disclaimer: This electronic transmission and any attachments contain confidential information belonging to the sender. This information may be legally protected. The information is intended only for the use of the individual or entity named above. If you are not the intended recipient or receive this message in error, you are hereby notified that any disclosure, copying, distribution or taking of any action in reliance on or regarding the contents of this information is strictly prohibited. Please notify the sender immediately if you have received this information in error.
> 
> www.acsi2000.com

> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo



More information about the Ale mailing list