Как перевернуть строку в сценарии bash?

У меня есть такая строка:

|abcdefg|

, и я хочу перевернуть эту строку

gfedcba

Возможно ли это в bash?

-2
задан 13 April 2021 в 07:55

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} выбирает length символов из своего параметра str из start point (первый символ имеет индекс 0) .

если вы не хотите использовать символы первой и последней вертикальной черты, выполните:

str='|abcdefg|'; for ((i=${#str}-2; i>=1; i--));do printf "${str:$i:1}"; done
9
ответ дан 23 April 2021 в 23:23

Другие вопросы по тегам:

Похожие вопросы: