Unix Programming - Re: BASH: troubke using a function argument passed to awk to find major number

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > July 2005 > Re: BASH: troubke using a function argument passed to awk to find major number





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Re: BASH: troubke using a function argument passed to awk to find major number
Bill Marcum

2005-07-15, 6:05 pm

On Fri, 15 Jul 2005 11:44:40 -0400, Ho-Kuo Chan
<hchan@wavesat.com> wrote:
> Hi,
> I am a relative newbie to BASH programming but I've read and learned a
> lot but I can't seem to solve my problem. I am trying to figure out the
> major number of a device through cat /proc/devices piped to awk:
>
> cat /proc/devices | awk '/theDeviceName/ { printf $1 }'.
>
> I am trying to write a function that receives the device name as an
> argument:
>
> function find_major()
> {
> MAJOR=`cat /proc/devices | awk '/$1/ { printf $1 }'`
>
> # do some other work...
> }
>
> I have tried this:
> function find_major()
> {
> MAJOR=`cat /proc/devices | awk '/$1/ { printf \$1 }'`
>

The problem is that you use single quotes, so the $1 representing the
function argument is not expanded.
MAJOR=`awk "/$1/ { printf \$1 }" /proc/devices`

MAJOR=`awk -v dev=$1 '$2~dev{printf $1}' /proc/devices`


--
Tonight you will pay the wages of sin; Don't forget to leave a tip.
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com