免费注册 查看新帖 |

Chinaunix

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

用shell写的rev,以弥补某些没有rev命令的OS之缺憾  关闭 [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-07 23:11 |只看该作者 |正序浏览
用shell写的rev,以弥补某些没有rev命令的OS之缺憾
请大家测试修正!
  1. #!/bin/sh
  2. #ScriptName:rev
  3. a="$1"
  4. i=0
  5. s=""
  6. l=`expr length "${a}"`
  7. while [ $i -lt $l ]
  8. do
  9.     i=`expr $i + 1`
  10.     s="`expr substr "${a}" $i 1`""${s}"
  11. done
  12. echo "${s}"
复制代码

如果认为还行的话可以将它命令为rev放入/bin或/usr/bin下,作为系统命令使用
测试
  1. # rev 1234567890
  2. 0987654321
  3. # rev "12 34 56 78 90"
  4. 09 87 65 43 21
  5. # rev "a b c d e f g h ijk lmn o p q rst uvwxyz"
  6. zyxwvu tsr q p o nml kji h g f e d c b a
  7. # rev "abcdefghijklmnopqrstuvwxyz"
  8. zyxwvutsrqponmlkjihgfedcba

  9. cat a
  10. 1234567890
  11. abcdefghij

  12. while read line
  13. > do
  14. > echo ${line} | xargs rev
  15. > done <a

  16. 0987654321
  17. jihgfedcba
复制代码

说明:
1.当需要反转的串中含有空格时,请用引号括起来。
2.由于是shell写成,在管道中需要用xargs调用,并且不能批处理

论坛徽章:
0
21 [报告]
发表于 2004-01-06 12:34 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

perl 可以去www.perl.com下载

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
20 [报告]
发表于 2003-12-12 07:33 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

[quote]原帖由 "don"]能举几个要用到rev的例子吗?[/quote 发表:
嗯?前面不是已经列举了不少例子了?

论坛徽章:
0
19 [报告]
发表于 2003-12-12 02:31 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

能举几个要用到rev的例子吗?

论坛徽章:
0
18 [报告]
发表于 2003-12-08 20:35 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

学习啊,在这些强人面前我只能学习了

论坛徽章:
0
17 [报告]
发表于 2003-12-08 15:13 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

来个sed版本的tac!

  1. $cat _tac
  2. #!/bin/ksh
  3. n=$(cat $1|wc -l)
  4. while ((n!=0))
  5.         do
  6.         sed -n ${n}p $1
  7.         ((n-=1))
  8. done
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
16 [报告]
发表于 2003-12-08 15:11 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

好多哟!
大家加油呀!

论坛徽章:
0
15 [报告]
发表于 2003-12-08 14:43 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

原帖由 "飞灰橙" 发表:

哈哈,逮到bug罗
谢谢飞哥哥~~ ,不好意思~~

论坛徽章:
0
14 [报告]
发表于 2003-12-08 11:01 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

rev 1 2 3 4 5
54321

这么写就不行了
rev 12345
12345

论坛徽章:
0
13 [报告]
发表于 2003-12-08 10:58 |只看该作者

用shell写的rev,以弥补某些没有rev命令的OS之缺憾

原帖由 "飞灰橙" 发表:

哈哈,逮到bug罗
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP