이는 너무 단순해 보이지만 여전히 달성하기는 불가능합니다. 나는 가지고있다:
-X-1.5
다음이 필요합니다.
-X1.5
사용:
echo -X-1.5 | tr -d '-'
다음을 제공합니다:
X1.5
가깝지만 충분히 가깝지는 않습니다.
여러분의 조언을 환영합니다.
답변1
또 다른 sed 솔루션
echo "-X-1.5" | sed 's/-//2'
-의 두 번째 항목을 다른 것으로 바꿉니다.
답변2
삭제하려는 문자가 위치 2(0부터 계산)에 있다는 것을 알고 있는 경우 다음을 수행할 수 있습니다.
VAR="-X-1.5"
echo "${VAR:0:2}${VAR:3}"
이것은 줄 것이다 -X1.5
.
제거하려는 문자의 첫 번째 인스턴스이지만 사전에 위치를 모르는 경우 다음을 수행할 수 있습니다.
VAR="X-1.5-oh"
echo "${VAR/-/}"
이것은 줄 것이다 X1.5-oh
.
답변3
제거할 부분이 시작 부분, 끝 부분 또는 완전히 제거되지 않기 때문에 알려진 패턴과 일치하는 보다 구체적인 부분을 선호하는 많은 일반적인 지름길을 배제하므로 실제로 패턴이 무엇인지에 따라 달라집니다. 될거야..
-X
-
예를 들어, 패턴을 제거 하려면 다음을 수행할 수 있습니다.
$ echo "-X-1.5" | sed 's/-X-/-X/g'
결과:
-X1.5
- 찾다
-X-
- 다음으로 교체
-X
/g
탐욕스럽게 실행한다는 것은 만일의 경우를 대비해 그러한 모든 이벤트를 의미합니다-X-1.5-X-2.5-X-3.5
.