免费注册 查看新帖 |

Chinaunix

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

shell编写求助!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-07 10:26 |只看该作者 |倒序浏览
我是HPUX,CSH赋值一个变量,如
bb变量是个文件名bb.txt,该文件中包含内容:
abc = HZ_ab_123_%[^.].%s,ymd,serial;

我希望只截取其中的HZ_ab_123_,该怎么写?

我在写的过程中发现,我用如下语句赋值:
set aa=`grep abc $bb`

本应得到的结果是“abc = HZ_ab_123_%[^.].%s,ymd,serial;”
但却只得到了“abc = ”
后面一串带有特殊字符的字符串未被正确赋值,请教这是怎么回事?

以上问题已经解决,现有新问题求助!!

我除了bb.txt还有如bb1.txt,bb2.txt等等,他们中都含有abc,可能为
abc = HZ_dsf_1324_.*
abc = ^WZ_dsf_112_.*
也就是两边的特殊字符可能不一样,但我要取得的就是HZ_dsf_1324_和WZ_dsf_112_,请教该怎么写?

[ 本帖最后由 zhangjihang 于 2009-5-7 14:52 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-05-07 10:29 |只看该作者

回复 #1 zhangjihang 的帖子

abc="HZ_ab_123_%[^.].%s,ymd,serial";echo ${abc%%\%*}

论坛徽章:
0
3 [报告]
发表于 2009-05-07 10:43 |只看该作者
我是要赋值过去,并不是要显示出来

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
4 [报告]
发表于 2009-05-07 10:47 |只看该作者
set abc = HZ_ab_123_

论坛徽章:
0
5 [报告]
发表于 2009-05-07 10:57 |只看该作者
echo "HZ_ab_123_%[^.].%s,ymd,serial;" | awk -F "_" '{print $1FS$2FS$3FS}'

论坛徽章:
0
6 [报告]
发表于 2009-05-07 11:00 |只看该作者

回复 #3 zhangjihang 的帖子

能显示就不能赋值吗?脑子转一下

论坛徽章:
0
7 [报告]
发表于 2009-05-07 11:20 |只看该作者
问题我就是遇到了能显示但不能赋值的问题
我使用命令grep abc bb.txt(这是赋给bb变量的文件名)
显示的结果是“abc = HZ_ab_123_%[^.].%s,ymd,serial;”  很正确
我使用set aa=`grep abc $bb` echo $aa
显示的结果是“abc = ”

论坛徽章:
0
8 [报告]
发表于 2009-05-07 11:31 |只看该作者

回复 #7 zhangjihang 的帖子

[W]set aa=`grep abc 1|awk -F'[=%]' '{print $2}'`;echo $aa
HZ_ab_123_
[W]cat 1
abc = HZ_ab_123_%[^.].%s,ymd,serial;”
dafadsf

论坛徽章:
0
9 [报告]
发表于 2009-05-07 11:39 |只看该作者
谢谢wtuter,用你的方法可以
但我还是没能明白我前面说的那个问题是什么原因造成的,能否指点一下?

论坛徽章:
0
10 [报告]
发表于 2009-05-07 11:42 |只看该作者

回复 #9 zhangjihang 的帖子

我的系统可以rhel4

[W]aa=`grep abc 1`;echo $aa
abc = HZ_ab_123_%[^.].%s,ymd,serial;”
[W]cat 1
abc = HZ_ab_123_%[^.].%s,ymd,serial;”
dafadsf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP