server {
server_name xxx.com;
location / {
client_max_body_size 200M;
proxy_pass http://127.0.0.1:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
listen 80;
}
나는 사용했다sed -i "/server_name $server/,+9d" $FILE
server {
}
아직도 나타납니다.
다들 감사 해요
답변1
이것은 가능한 해결책이지만 더 나은 해결 방법이 있다고 생각합니다.
필요한 것은 일치하는 행의 수를 구하고 1을 빼는 것입니다.
number=$(($(sed -n "/server_name $server/{=}" $FILE) - 1))
마지막으로 다음 9개 행을 포함하는 $number
일치하는 행( )을 삭제해야 합니다 ."/server_name $server/,+9d"
#You should check if the line returned is >= 0
[ $number -ge 0 ] && {
sed -i -e "${number}d" -e "/server_name xxx.com/,+9d" $FILE
}
중요한:이 코드는 server_name xxx.com;
행이 하나만 있는 경우(예를 들어)에만 작동합니다. 즉, 반환된 값은 $(sed -n "/server_name $server/{=}" $FILE)
숫자여야 합니다.