免费注册 查看新帖 |

Chinaunix

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

关于expr及echo{}的几个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-19 17:56 |只看该作者 |倒序浏览
第一个问题:
x=abcde
#expr length "expr substr $x 2 5"
#20
#expr length "aaaa aaaaaa aa a a"
#18
为什么同样的长度会显示出不同的结果?

第二个问题:
既然
#x=abcd
#expr substr $ 2 5
#bcd
那么我能不能在一个语句中直接算出expr substr $x 2 5的长度呢?
比如我用expr length "expr substr $x 2 5"就是这个意图,但是失败了

第三个问题:
#x=aabbccdd
#echo ${x#a}
#abbccdd
#echo $x
aabbccdd
可见第二行的命令的,我想保留这个值,但是我又不能
#y=echo ${x#a}
那我该怎么办呢?

第四个问题:
#x=aabbccdd
我想换掉第二个a怎么实现呢?进一步,如果我想换掉一串东西,但是其中有几个想保留或者另外赋值,该怎么办呢?
比如aaaaaa
1、除中间两个外都换成b
2、除中间两个换成c外都换成b

谢谢帮助!!

论坛徽章:
0
2 [报告]
发表于 2004-08-19 18:08 |只看该作者

关于expr及echo{}的几个问题

[ls@systest01 ls]$ expr length 'expr substr $x 2 5'
18

论坛徽章:
0
3 [报告]
发表于 2004-08-19 18:11 |只看该作者

关于expr及echo{}的几个问题

[ls@systest01 ls]$ cat test.sh
#!/bin/sh
x=abcde
expr length "expr substr $x 2 5"
expr length "aaaa aaaaaa aa a a"
[ls@systest01 ls]$ sh test.sh
21
18


不是你的结果,$x此时是abcde了

论坛徽章:
0
4 [报告]
发表于 2004-08-19 18:14 |只看该作者

关于expr及echo{}的几个问题

说几句啊:
#x=abcde
#print ${x:2:3}
#cde
上面的几行是取子串的例子。expr没看,所以不知道它的用法。

论坛徽章:
0
5 [报告]
发表于 2004-08-19 19:14 |只看该作者

关于expr及echo{}的几个问题

   1 stringZ=abcABC123ABCabc
   2
   3 echo ${stringZ/#abc/XYZ}          # XYZABC123ABCabc
   4                                   # Replaces front-end match of 'abc' with 'XYZ'.
   5
   6 echo ${stringZ/%abc/XYZ}          # abcABC123ABCXYZ
   7                                   # Replaces back-end match of 'abc' with 'XYZ'.

论坛徽章:
0
6 [报告]
发表于 2004-08-20 09:35 |只看该作者

关于expr及echo{}的几个问题

谢谢解答!:)

论坛徽章:
0
7 [报告]
发表于 2004-08-20 14:23 |只看该作者

关于expr及echo{}的几个问题

这个用法在哪些shell中可以使用啊?:)

论坛徽章:
0
8 [报告]
发表于 2004-08-20 14:35 |只看该作者

关于expr及echo{}的几个问题

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP