回显输出未分配给外壳脚本中的变量 [英] echo output not getting assigned to a variable in shell script

查看:75
本文介绍了回显输出未分配给外壳脚本中的变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

end=echo $FSDB_FILE_NAME | rev | cut -d'_' -f 2 |rev
begin=echo $FSDB_FILE_NAME | rev | cut -d'_' -f 3 |rev
echo $end
echo $begin

echo abc_11204.00_15713.00_.csv  | rev | cut -d'_' -f 2 |rev ---- This works

但是回显$ end没有打印任何内容

But echo $end is not printing anything

我什至尝试过:

 set end=echo abc_11204.00_15713.00_.csv  | rev | cut -d'_' -f 2 |rev
 echo $end 

此打印为空

请帮助我

Sample input : abc_123.00_345.00_xyz.csv
Output : end=345.00
         begin=123.00


推荐答案

请尝试以下方法。使用 awk 的简单方法。

Could you please try following. Easy approach with awk.

start=$(echo "$input_variable" | awk  -F'_' '{print $2}')
end=$(echo "$input_variable" | awk  -F'_' '{print $3}')

当我打印变量的值时,将如下所示:

When I print variable's values it will be as follows:

echo "$start"
123.00
echo "$end"
345.00

这篇关于回显输出未分配给外壳脚本中的变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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