sed 사용 도움말

sed 사용 도움말

"custom.conf"라는 파일이 있습니다.

이 파일에는

[globals]


[guest]

내가 하고 싶은 것은 [globals] 뒤에 이 줄을 삽입하는 것입니다.

#include = HKRoomStat.conf
#include = HKRoomStatFuncODBC.conf

[guest] 뒤에 이 줄을 삽입하세요.

include = room_stat

이 코드가 있습니다

sed  -i '/'[globals]'/a #include = HKRoomStat.conf' custom.conf
sed  -i '/#include = HKRoomStat.conf/a #include = HKRoomStatFuncODBC.conf' custom.conf
sed  -i '/'[guest]'/a include = room_stat' custom.conf

하지만 이것을 CLI에서 실행하면 다음과 같은 결과가 나타납니다.

[globals]
include = room_stat
#include = HKRoomStat.conf
include = room_stat
#include = HKRoomStatFuncODBC.conf
include = room_stat

[guest]
include = room_stat
#include = HKRoomStat.conf
include = room_stat
#include = HKRoomStatFuncODBC.conf
include = room_stat

저는 이제 막 sed를 배우기 시작했습니다. 어떤 도움이라도 대단히 감사하겠습니다. 먼저, 감사합니다.

답변1

줄을 추가하는 방법은 a\sed 명령을 사용하는 것입니다. 이렇게 하면 추가할 행 수와 그 내용을 시각적으로 매우 직관적으로 알 수 있습니다.

sed -i -e '
  /\[globals]/a\
#include = HKRoomStat.conf\
#include = HKRoomStatFuncODBC.conf

  /\[guest]/a\
include = room_stat
' custom.conf

관련 정보