파일에 다음과 같은 코드 블록이 있습니다.
BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode1
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode2
tc_
키워드로 모든 줄을 검색하고 status=D
이 줄 끝에 추가하고 싶습니다 . 그러면 위의 항목은 다음과 같이 됩니다.
BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode1 status=D
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode2 status=D
이를 달성하기 위해 다음 명령을 사용합니다.
sed -i '/tc_/a status=D' app.conf
status=D
그러나 나는 그것이 개행 이후라는 것을 알 수 있습니다 . 나는 이것에 대한 줄 바꿈을 원하지 않습니다. " "(공백)을 추가해야 합니다.
답변1
노력하다
sed -e '/tc_/s/$/ status=D/'
어디
/tc_/
tc_가 발견된 라인에서,s
바꾸다,/$
줄 끝,/ status=D/
이 문자열을 통해
괜찮아 보이면 -i
해당 위치에 추가하고 편집하세요.