如何在 Bash 脚本中反转字符串?

如何在 Bash 脚本中反转字符串?

我有一个这样的字符串:

|abcdefg|

我想反转这个字符串

gfedcba

在 bash 中这可能吗?

答案1

使用rev命令可以反转字符串:

$ echo '|abcdefg|' |rev
|gfedcba|

如果你想要纯 bash 解决方案:

str='|abcdefg|'; for ((i=${#str}-1; i>=0; i--));do printf "${str:$i:1}"; done
  • ${#str}返回其参数的字符长度str
  • ${str:start:length}精选长度来自其参数的字符strstart点(第一个字符的索引为 0)。

如果您不想要第一个和最后一个管道字符,请执行以下操作:

str='|abcdefg|'; for ((i=${#str}-2; i>=1; i--));do printf "${str:$i:1}"; done

相关内容