
Untitled
By: a guest on
May 5th, 2012 | syntax:
None | size: 1.53 KB | hits: 14 | expires: Never
Return two variables in awk
ret=$(ls -la | awk '{print $3 " " $9}')
usr=$(echo $ret | awk '{print $1}')
fil=$(echo $ret | awk '{print $2}')
ls -la | awk -r usr=x -r fil=y '{x=$3; y=$9}'
usr=""
fil=""
while read u f; do usr="$usrn$u"; fil="$filn$f"; done < <(ls -la | awk '{print $3 " " $9}')
while read u f; do usr="$usrn$u"; fil="$filn$f"; done <<< $(ls -la | awk '{print $3 " " $9}')
$ usr=""
$ fil=""
$ while read u f; do usr="$usrn$u"; fil="$filn$f"; done << EOF
> $(ls -la | awk '{print $3 " " $9}')
> EOF
eval $(ls -la | awk '{usr = $3 " " usr;fil = $9 " " fil} END{print "usr=""usr"";fil=""fil"""}')
echo -e $usr
echo -e $fil
$time <three line approach>
real 0m0.017s
user 0m0.006s
sys 0m0.011s
$time <one line approach>
real 0m0.009s
user 0m0.004s
sys 0m0.007s
unset FILES
declare -A FILES
FILES=( ls -la | awk '{print $9 " " $3}' )
for fil in ${!FILES[@]}
do
usr=${FILES["$fil"]}
echo -e "$usr" "t" "$fil"
done
ret_ary=( $(command | awk '{print $3, $9}') )
usr=${ret_ary[0]}
fil=${ret_ary[1]}
set -- $(command | awk '{print $3, $9}')
usr=$1
fil=$2
ret_ary=( $(command | awk '{print $3, $9}') )
usr=${ret_ary[0]}
fil=${ret_ary[1]}
set -- $(command | awk '{print $3, $9}')
usr=$1
fil=$2
ret_ary=( $(command | awk '{print $3, $9}') )
usr=${ret_ary[0]}
fil=${ret_ary[1]}
set -- $(command | awk '{print $3, $9}')
usr=$1
fil=$2
ret_ary=( $(command | awk '{print $3, $9}') )
usr=${ret_ary[0]}
fil=${ret_ary[1]}
set -- $(command | awk '{print $3, $9}')
usr=$1
fil=$2