bash에서 문자열 중간에 문자를 제거하는 방법


12

bash에는 문자열이 있으며 문자열 중간에 문자를 제거하려고합니다. 다음과 같이 문자열의 시작 또는 끝에서 문자를 제거 할 수 있다는 것을 알고 있습니다.

myVar='YES'
myVar="${myVar#'Y'}"
myVar="${myVar%'S'}"

하지만 중간에있는 것을 어떻게 제거 할 수 있습니까?

답변:


18

제거 할 문자를 알고있는 경우 매개 변수 확장에서 대체를 사용할 수 있습니다.

myVar=${myVar/E}  # Replace E with nothing

또는 유지할 문자를 알고있는 경우 :

myVar=${myVar/[^YS]}  # Replace anything but Y or S

또는 위치를 알고있는 경우 :

myVar=${myVar:0:1}${myVar:2:1}  # The first and third characters

둘 다 모른다면 어떻게해야합니까? Y와 S를 유지하고 싶다는 것을 알고 있다면 어떨까요?
Rutger Huijsmans

@RutgerHuijsmans : 업데이트를 확인하십시오.
choroba
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.