이 sed에 문제가 있나요?

이 sed에 문제가 있나요?

"relvir"의 IP 주소를 변경하고 싶습니다:

127.0.0.1   localhost
127.0.1.1   debian-foo.jimnet debian-foo

54.218.208.77   server1
31.187.98.19    machine2
51.39.207.120   relvir

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

나는 이것을 시도했지만 왜 작동하지 않는지 이해하지 못합니다.

cat sedtest | sed 's/.+relvir$/1.2.3.4 relvir/'

미리 감사드립니다!

답변1

그리고기본 정규식 sed+수량자를 사용하여 필요한 대체를 수행하기 위해 문자 그대로 처리됩니다 *.

cat sedtest | sed 's/.*relvir$/1.2.3.4 relvir/'

계속 +수량자로 사용됨확장 정규식적용 -E옵션:

cat sedtest | sed -E 's/.+relvir$/1.2.3.4 relvir/'

답변2

나는 이것이 당신이 찾고 있는 것이라고 믿습니다

고양이 sedtest | sed 's/.\+relvir$/1.2.3.4 relvir/'

관련 정보