[ale] bash assistance
The Don Lachlan
ale-at-ale.org at unpopularminds.org
Tue May 10 11:56:55 EDT 2011
On Tue, May 10, 2011 at 06:28:55AM -0700, Damon Chesser wrote:
> What does tr "\012" "\011" do?
> Of course I inserted into the code and it works flawlessly, but man tr is
> very cryptic and I can't seem to find anything on google that explains
> "\012" "\011" and what it does. I have read about "octal codes" but "line
> feed" for 012 and "horizontal tab" for 011.
> So is this tr command replacing a "line feed (new line)" with a "tab"?
Yes. It gives something nicely to split on for the AWK command. If you
swapped it for 'cut', that defaults to using tabs.
> So: input gives $HEADER followed by a line feed command which is replaced
> by a "tab" then the rest is fed through awk to cut the value I wanted.
Where did $HEADER come from?
Input produces a header line and then additional lines for each volume,
split by a _form_ feed; we dump the header line (tail), replace the form
feed with a tab (tr) and then print the specific field (awk).
It's not elegant and it works on a few assumptions that I've not checked are
always true, but it should get you to the next step.
tr is an awesome command. Consider how often you have something separated by
newline that you want space separated or vice versa. It's cheap and good.
-L
> 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
>
> _______________________________________________
> 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
>
> _____________________________________________________________________________
> 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