Как я могу удалить последний символ строковой переменной в ksh? - PullRequest
5 голосов
/ 08 февраля 2012

У меня есть строковая переменная, и я хочу удалить ее последний символ.

Например: перейти от «testing1» к «тестированию».

Как я могу сделать это в KSH?

1 Ответ

13 голосов
/ 08 февраля 2012
var="testing1"
print ${var%?}

выход

testing

${var%?} - это функция редактирования параметров.«%» Говорит об удалении с правой стороны и ожидает следующего шаблона.Шаблон может быть в вашем примере только символом «1» (без кавычек).Я использую символ подстановки '?'так что любой отдельный символ будет удален.Вы можете использовать символ «*» для обозначения всех символов, но обычно вы хотите «связать» это с некоторыми предыдущими символами, в вашем примере echo ${var%i*} даст в результате только test.Существуют также варианты «%%» для этих AND, «#» и «##», которые начинаются с левой стороны строки.

Надеюсь, это поможет.

...