![한 줄에 일치할 때까지 sed로 교체](https://linux55.com/image/87553/%ED%95%9C%20%EC%A4%84%EC%97%90%20%EC%9D%BC%EC%B9%98%ED%95%A0%20%EB%95%8C%EA%B9%8C%EC%A7%80%20sed%EB%A1%9C%20%EA%B5%90%EC%B2%B4.png)
파일의 각 줄에서 "=" 문자 앞에 있는 모든 "." 문자를 바꿔야 합니다. 라인은 다음과 같습니다
one.two.three=something
four.five=1
six.seven=127.0.0.1
eight.nine.ten.eleven=somethingwerylong
twelve=something.with.dots
등...
결과는 다음과 같아야 합니다.
onetwothree=something
fourfive=1
sixseven=127.0.0.1
eightnineteneleven=somethingwerylong
twelve=something.with.dots
답변1
sed -e :1 -e 's/^\([^=]*\)\./\1/; t1'
t1
1
성공적인 명령이 있으면 s
레이블로 분기합니다. 이것은 에 있습니다 sed
.
또는:
awk -F = -v OFS== '{gsub(/\./, "", $1); print}'