У меня есть такая строка:
|abcdefg|
, и я хочу перевернуть эту строку
gfedcba
Возможно ли это в bash?
С помощью команды 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}
выбирает length символов из своего параметра str
из start
point (первый символ имеет индекс 0) . если вы не хотите использовать символы первой и последней вертикальной черты, выполните:
str='|abcdefg|'; for ((i=${#str}-2; i>=1; i--));do printf "${str:$i:1}"; done