免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1496 | 回复: 8
打印 上一主题 下一主题

[文本处理] 如何打印一个变量 [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-31 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-03-07 17:09 |只看该作者 |倒序浏览
加入有一个叫做name的脚本,内容如下:
eval a$1=`grep -Po '(?<=Read )[0-9\.]+' totalTime$1`
eval echo  $[a$1]
其中grep到的内容是2.72
输入./name 1之后a$1其实就变成了a1,比如按./name 3 就让a3赋值,自己定让几赋值
可是如何把a$1打印出来?老是出错啊;后面要用a$1做数学计算。谢谢

论坛徽章:
29
程序设计版块每日发帖之星
日期:2016-02-29 06:20:0015-16赛季CBA联赛之天津
日期:2016-08-10 10:33:1115-16赛季CBA联赛之深圳
日期:2016-08-17 15:07:2015-16赛季CBA联赛之佛山
日期:2016-11-07 11:33:5015-16赛季CBA联赛之广夏
日期:2016-11-15 09:13:31CU十四周年纪念徽章
日期:2016-11-24 14:12:25极客徽章
日期:2016-12-07 14:03:4015-16赛季CBA联赛之深圳
日期:2016-12-07 17:15:2715-16赛季CBA联赛之北京
日期:2016-12-22 09:30:0115-16赛季CBA联赛之深圳
日期:2016-12-22 10:49:2115-16赛季CBA联赛之山西
日期:2017-02-10 09:05:3215-16赛季CBA联赛之同曦
日期:2017-02-27 14:19:08
2 [报告]
发表于 2016-03-07 17:29 |只看该作者
回复 1# zw86620032
  1. b=a$1
  2. eval a$1=`grep -Po '(?<=Read )[0-9\.]+' totalTime$1`

  3. echo $b=${!b}
  4. 这样子?  是不是要间接引用呀
复制代码

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
3 [报告]
发表于 2016-03-07 17:50 |只看该作者
eval echo  \$a$1

eval echo  '${'a$1\}
@zw86620032

论坛徽章:
2
程序设计版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-31 06:20:00
4 [报告]
发表于 2016-03-07 17:52 |只看该作者
回复 2# elu_ligao


    谢谢,能显示了,可是怎么做加法啊?比如我要把a1的值加1,一算加法就报错。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-31 06:20:00
5 [报告]
发表于 2016-03-07 17:55 |只看该作者
回复 3# cao627


    谢谢。可是如何算加法呢?比如a1现在是2.32,我想把它+1,一算加法就报错

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [报告]
发表于 2016-03-07 18:06 |只看该作者
本帖最后由 jason680 于 2016-03-07 18:11 编辑

回复 4# zw86620032

用数组,用数组,用数组,...

$ a[1]=1

$ echo ${a[1]}
1

$ ((a[1]++))

$ echo ${a[1]}
2


1. bc
$ a[1]=2.72
$ a[1]=`echo ${a[1]} + 1 | bc`; echo ${a[1]}
3.72

2.awk
$ a[1]=2.72;
$ a[1]=`echo ${a[1]} | awk '$1++'`; echo ${a[1]}
3.72

   

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
7 [报告]
发表于 2016-03-07 19:15 |只看该作者
@zw86620032
eval echo  "\$a$1 + 1" | bc

论坛徽章:
2
程序设计版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-31 06:20:00
8 [报告]
发表于 2016-03-07 20:20 |只看该作者
回复 6# jason680


    哈哈,解决了,谢谢。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2016-02-28 06:20:00IT运维版块每日发帖之星
日期:2016-03-31 06:20:00
9 [报告]
发表于 2016-03-07 20:20 |只看该作者
回复 7# cao627


    谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP