?
StringBuffer?sb = new ?StringBuffer(str);
String?str2 = sb.reverse().toString();
?
格式:strrev "$STR"
?
strrev(){ local src=$1 local len=${#src} local i local dst for ((i=len-1; i>=0; --i)) { dst="$dst${src:i:1}" } echo "$dst" }
?
[root@jfht ~]# STR=12345
[root@jfht ~]# strrev "$STR"
54321
[root@jfht ~]#
尝试一个多行文本。
[root@jfht ~]# STR="12345
> hello"
[root@jfht ~]# strrev "$STR"
olleh
54321
[root@jfht ~]#
?
格式:echo "$STR" | rev
格式:rev <<< "$STR"
注意:rev命令是把每行文本进行翻转。
?
man rev 写道 NAME[root@jfht ~]# echo "12345" | rev
54321
[root@jfht ~]# rev <<<"12345"
54321
[root@jfht ~]# STR=12345
[root@jfht ~]# echo "$STR" | rev
54321
[root@jfht ~]# rev <<< "$STR"
54321
[root@jfht ~]#
尝试一个多行文本。
[root@jfht ~]# STR="12345
> hello"
[root@jfht ~]# strrev "$STR"
olleh
54321
[root@jfht ~]# echo "$STR" | rev
54321
olleh
[root@jfht ~]# rev <<<"$STR"
54321
olleh
[root@jfht ~]#
?
格式:echo "$STR" | tac | rev
格式:echo "$STR" | rev | tac
?
man tac 写道 NAME[root@jfht ~]# STR="12345
> hello"
[root@jfht ~]# echo "$STR" | tac | rev
olleh
54321
[root@jfht ~]# echo "$STR" | rev | tac
olleh
54321
[root@jfht ~]#
?
格式:echo "$STR" | awk -F "" '{for(i=NF;i>0;i--)print $i}'
格式:awk -F "" '{for(i=NF;i>0;i--)print $i}' <<<"$STR"
?
?
# 将行中的字符逆序排列,第一个字成为最后一字,……(模拟“rev”)
来自:http://bbs.chinaunix.net/viewthread.php?tid=859821&extra=&page=1
格式:echo "$STR" | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
格式:sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//' <<<"$STR"
?
[root@jfht ~]# echo "12345" | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
54321
[root@jfht ~]# STR=12345
[root@jfht ~]# echo "$STR" | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
54321
[root@jfht ~]# STR="12345
> hello"
[root@jfht ~]# echo "$STR" | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
54321
olleh
[root@jfht ~]# sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//' <<<"$STR"
54321
olleh
[root@jfht ~]#
?
?
本文链接:http://codingstandards.iteye.com/blog/1164916 ? (转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)?
上节内容:Bash字符串处理(与Java对照) - 28.去除前后空白
下节内容:Bash字符串处理(与Java对照) - 30.综合实例:自动生成版本号源文件
?