W bash mam ciąg znaków i próbuję usunąć znak ze środka łańcucha. Wiem, że możemy usuwać znaki z początku lub końca takiego ciągu:
myVar='YES'
myVar="${myVar#'Y'}"
myVar="${myVar%'S'}"
ale jak mogę usunąć ten w środku?
Jeśli wiesz, które znaki należy usunąć, możesz użyć podstawienia w rozszerzaniu parametrów:
myVar=${myVar/E} # Replace E with nothing
Lub jeśli wiesz, jakie postacie zachować:
myVar=${myVar/[^YS]} # Replace anything but Y or S
Lub jeśli znasz pozycję:
myVar=${myVar:0:1}${myVar:2:1} # The first and third characters