Unix 将文本传递给KSH中的变量。不起作用

Unix 将文本传递给KSH中的变量。不起作用,unix,awk,ksh,Unix,Awk,Ksh,嗨,我正在努力解决这个简单的程序。我无法将值从文本文件传递到变量。 我被困在这里:value=$(sed-n“${line}p”rpt1.txt | awk{$3} O/p: 代码: 可疑行中$3前面不应该有打印吗?您的代码可读性不太好。我感觉有些东西被stackoverflow解释为标记,这使得很难判断什么可能是问题,什么不是问题。无论如何,我猜您的awk程序缺少引号。@Eric是r好的,您需要awk'{$3}'@Eric非常感谢。您的建议奏效了!您还需要让line++代替破损的line=$l

嗨,我正在努力解决这个简单的程序。我无法将值从文本文件传递到变量。 我被困在这里:
value=$(sed-n“${line}p”rpt1.txt | awk{$3}

O/p:

代码:


可疑行中$3前面不应该有打印吗?

您的代码可读性不太好。我感觉有些东西被stackoverflow解释为标记,这使得很难判断什么可能是问题,什么不是问题。无论如何,我猜您的awk程序缺少引号。@Eric是r好的,您需要
awk'{$3}'
@Eric非常感谢。您的建议奏效了!您还需要
让line++
代替破损的
line=$line+1
1.sh[15]: test: argument expected
wc `find /arbor/custom/gur/fold1`|grep -vi "total"| tee rpt1.txt
total1=`wc -l rpt1.txt`
wc `find /arbor/custom/gur/fold2`|grep -vi "total"| tee rpt2.txt
total2=`wc -l rpt2.txt`
line=1
if [ $line  -le  $total1 ]
then
value=$( sed -n "${line}p" rpt1.txt|awk {$3} )
if [ $value  -eq  512 ];
then
sed -n "${line}p" rpt1.txt|awk '{print $4}'| tee direc.txt
fi
line =$line+1
else
echo "loop over"
fi