Unix中以ksh解析管道分隔格式的字符串 [英] Unix parsing pipe delimited format string in ksh

查看:135
本文介绍了Unix中以ksh解析管道分隔格式的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am writing ksh script to parse a pipe delimited string

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

上面的代码似乎可以正常工作,但是我无法将输出[3]的值分配给虚拟对象.

above code seems to work , but I am not able to assign value of output[3] to dummy.

是否可以进行这种解析,但是我想将解析结果分配给ksh空间中的一个变量,即dummy(在上面的示例中)?

Is there a way to do such parsing, but I want to assign the parsing result in a variable within ksh space i.e. dummy (in above sample)?

推荐答案

shell可以做到:

The shell can do it:

line="123|456|789"
IFS='|' read a b c <<END
$line
END
echo $c  # => 789

这篇关于Unix中以ksh解析管道分隔格式的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆