LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1105|回复: 7

请问shell里面如何把字符“加1”

[复制链接]
发表于 2005-11-19 15:45:49 | 显示全部楼层 |阅读模式
比如说我现在有个$ch内容是'a',应该怎样的操作才能让它变成'b'呢?好像不能直接加一呀?
发表于 2005-11-19 17:06:43 | 显示全部楼层

  1. str=$1
  2. str=$(echo $str|od -b|awk 'NR==1{$(NF-1)=$(NF-1)+1;for(i=2;i<NF;i++)print "echo -ne \042\\\\0"$i"\042"}'|sh)
  3. echo $str
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-19 22:01:13 | 显示全部楼层
好像很复杂呀,哈哈!谢谢了!
回复 支持 反对

使用道具 举报

发表于 2005-11-20 00:27:33 | 显示全部楼层
应该用printf可以解决的,不过我不会C语言,不会用printf。:)。
回复 支持 反对

使用道具 举报

发表于 2005-11-20 00:55:21 | 显示全部楼层
Post by 终极幻想
应该用printf可以解决的,不过我不会C语言,不会用printf。:)。

在perl中实现是最简单

  1. $str=a;print ++$str
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-11-20 00:56:02 | 显示全部楼层
Post by pluskid
好像很复杂呀,哈哈!谢谢了!

这不过是举个例子,具体的应用,还要具体情况具体分析的嘛~
回复 支持 反对

使用道具 举报

发表于 2005-11-20 01:00:00 | 显示全部楼层
Post by 寂寞烈火
在perl中实现是最简单

  1. $str=a;print ++$str
复制代码


我不是说用Perl等其他语言实现,是用shell。
我也知道Perl最简单。。:)。

printf是一个命令,不要写 .c 文件的。:)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-21 10:21:21 | 显示全部楼层
哦!长见识了!
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表