Как удалить последний символ строковой переменной в ksh?


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

Например: переход от " testing1 "к"testing".

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

1 5

1 ответ:

var="testing1"
print ${var%?}

Вывод

testing

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

Я надеюсь, что это помогает.