Shell中字符串反转的六大方法

时间:2024-03-23 15:35:30

方法一】利用rev命令

命令实现:

Shell中字符串反转的六大方法

备注:

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

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

对一个文件实现:

Shell中字符串反转的六大方法

对多个文件实现:

Shell中字符串反转的六大方法

脚本实现:

Shell中字符串反转的六大方法

Shell中字符串反转的六大方法

Shell中字符串反转的六大方法

 

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

命令实现:

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

Shell中字符串反转的六大方法

备注:

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

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

 

方法三】利用awk命令

命令实现:

Shell中字符串反转的六大方法

脚本实现:

Shell中字符串反转的六大方法

备注:

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

(2)length即当前字符串长度6

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

         substr($3,6,2)--->表示从第三个字段里的第六个字符开始,截取2个字符结束

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

 

方法四】利用bash实现

命令实现:

Shell中字符串反转的六大方法

脚本实现:

Shell中字符串反转的六大方法

备注:

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

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

 

方法五】利用脚本实现

脚本一:

Shell中字符串反转的六大方法

Shell中字符串反转的六大方法

Shell中字符串反转的六大方法

脚本二:

Shell中字符串反转的六大方法

备注:

(1)${STR:I:1},字符串索引,长度为10,分别取到g,n,e,f,e,d,g,n,a,w

${a:b:c}说明如下:

Shell中字符串反转的六大方法

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

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

 

方法六】tac命令实现全文反转

Shell中字符串反转的六大方法