Unix解析管道分隔格式字符串在ksh中

iwa*_*wan 2 unix string shell parsing ksh

我正在编写ksh脚本来解析管道分隔的字符串

export dummy="abc"  
echo "123|456|789" | awk '{split($0,output,"|"); print output[3] output[2] output[1]}'
Run Code Online (Sandbox Code Playgroud)

上面的代码似乎工作,但我无法将输出值[3]分配给虚拟.

有没有办法进行这样的解析,但是我想将解析结果分配给ksh空间中的变量,即dummy(在上面的示例中)?

gle*_*man 6

shell可以做到:

line="123|456|789"
IFS='|' read a b c <<END
$line
END
echo $c  # => 789
Run Code Online (Sandbox Code Playgroud)