Mam zmienną łańcuchową i chcę usunąć ostatni jej znak.Jak mogę usunąć ostatni znak zmiennej łańcuchowej w ksh?
Na przykład: przejście z "testing1" do "testing".
Jak mogę to zrobić w KSH?
Mam zmienną łańcuchową i chcę usunąć ostatni jej znak.Jak mogę usunąć ostatni znak zmiennej łańcuchowej w ksh?
Na przykład: przejście z "testing1" do "testing".
Jak mogę to zrobić w KSH?
var="testing1"
print ${var%?}
wyjście
testing
${var%?}
jest funkcja edycji parametrów. "%" Oznacza usunięcie z prawej strony i oczekuje następującego wzoru. Wzorzec może być w twoim przykładowym przypadku po prostu znakiem "1" (bez cudzysłowów). Używam znaku wieloznacznego "?" aby każdy pojedynczy znak został usunięty. Możesz użyć znaku "*", aby wskazać wszystkie znaki, ale zazwyczaj chcesz "zawiązać" to z niektórymi wcześniejszymi znakami, a Twój przykład: echo ${var%i*}
dałby w rezultacie tylko test
. Istnieją również warianty "%%" w tym AND "#" i "##", które zaczynają się od lewej strony napisu.
Mam nadzieję, że to pomoże.
dzięki m8, dokładnie tego potrzebowałem :) –