Steve Litt <[email protected]> writes:
> On Sun, 31 Jan 2016 18:20:12 -0500
> Steve Litt <[email protected]> wrote:

[...]

> ===========================================
> #!/bin/sh
> lineno=${1:-1}
>
> fn=`mktemp`
>
> ip -o link | \
>   cut -d ' ' -f2 | \
>   grep ^w | \
>   tr -d : > $fn
>
> maxdev=`wc -l $fn | cut -d ' ' -f 1`
> if test $maxdev -lt $lineno; then
>    echo =max$maxdev
> else
>   head $fn -n $lineno | \
>   tail -n 1
> fi
> rm $fn
> ===========================================

[...]

> There are probably better ways to write this script, but I think the
> way I have it here exhibits the behavior I'd like.

'Better' is often very much a matter of opinion but here's one which
doesn't need a temporary file:

---------
#!/bin/sh
want=${1:-1}
got=0

for dev in `ip -o link | sed -n 's/[^:]*: *\(w[^:]*\).*/\1/p'`;
do
    got=`expr $got + 1`
    
    test $got -eq $want && {
        echo $dev
        exit 0
    }
done

echo =max$got
--------
_______________________________________________
Dng mailing list
[email protected]
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to