Shell中字符串反转的几种技巧

方法一利用rev命令


备注:

1) rev命令可以对字符串进行反转

2) rev命令还可以对一个或多个文件进行反转


方法二利用sed命令s参数来替换

1) 对字符串长度比较小的转换


2) 对字符串长度比较大的转换


备注:

1) (.)-->正则表达式中分组匹配,匹配到之后在用具体位置参数\3\2\1来实现反转

2) 同时使用-r参数,表示扩展正则表达式,那样的话,就无需使用反斜杠来转译了


方法三利用awk命令


备注:

1) substr($0,i,1),表示取当前字符从索引i开始,取当前位

2) length即当前字符串的长度,即3

3) line=substr($0,i,1) line;将三个值分别保持在内存栈中,到时候打印出来就成CBA

substr($3,6,2)   --->  表示是从第3个字段里的第6个字符开始,截取2个字符结束.
substr($3,6)     --->  表示是从第3个字段里的第6个字符开始,一直到结尾


方法四】利用python工具


备注:

1) 在Python中可以很方便实现字符串反转[::-1]

2) -c command: 表示运行时以命令性字符串提交Python脚本

3) raw_input()将管道传过过来的值作为字符串输入 


方法五】利用Perl工具


备注:

1) print scalar reverse $_ 将管道传递过来的字符串传到默认标量$_,再用reverse取反

2) -e 让Perl程序可以在Perl命令行中运行,比如:  perl -e 'print "Hello,World!\n"'

3) -n 增加了循环功能,可以一行行处理文本

4) -l 用来给每行增加一个换行符"\n"


方法六】利用bash实现


备注:

1) { cmd1;cmd2;cmd3;},在当前的Shell下顺序执行命令,第一条命令与{之间有空格,最后一个命令;结尾

2) read通过管道读取传过来的字符串,让其放置在默认的REPLY变量中,再通过循环${str:i:1}显示


方法七】利用脚本实现



备注:

1) ${STR:i:1},字符串取索引,长度为,分别取到D,C,B,A

2) -n --> 取消换行符 

3) -e --> 对换行符等特殊字符进行转译 


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值