![sed에서 숫자 블록 교체](https://rvso.com/image/1313371/sed%EC%97%90%EC%84%9C%20%EC%88%AB%EC%9E%90%20%EB%B8%94%EB%A1%9D%20%EA%B5%90%EC%B2%B4.png)
나는 한동안 이것으로 만지작거려왔고 그것을 알아낼 수 없는 것 같습니다. 내가 하려는 것은 파일의 모든 숫자를 단일 #으로 바꾸는 것입니다.
간단하게 들리지만, 머리로는 이해할 수 없습니다. 어떤 도움이라도 주시면 감사하겠습니다.
내가 지금까지 가지고 있지만 작동하지 않는 것은 다음과 같습니다.
echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]+/#/g'
내가 기대하는 결과는 다음과 같습니다.
fdsafdsa # dsafdas
그러나 sed는 아무것도 대체되지 않은 동일한 문자열을 제공합니다.
어떤 단서가 있나요?
답변1
. +
다음을 사용하세요.
echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]/#/g'
[0-9]
은 이미 모든 숫자와 일치하며 모든 숫자를 #
.
확장된 구문 이므로 +
다음을 수행할 수도 있습니다.
echo "fdsafdsa 32432 dsafdas" | sed -E 's/[0-9]+/#/g'
전체 숫자 블록을 다음으로 바꾸려면하나 #
.