sed는 httpd.conf 라인을 삭제합니다

sed는 httpd.conf 라인을 삭제합니다

httpd전체 청크를 제거하려는 구성 파일이 있습니다 .

<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>

처음부터 <Directory "/var/www/html">끝까지 </Directory>.

나는 시도했다:

 sed '/-<Directory "\/var\/www\/html">/,/-<\/Directory>/d' /etc/httpd/conf/httpd.conf

그러나 성공하지 못했습니다.

답변1

<Directory ...>(및 ) 문 앞의 대시 때문에 명령이 작동하지 않습니다 </Directory>. 이것은 작동합니다:

sed '/<Directory "\/var\/www\/html">/,/<\/Directory>/d' /etc/httpd/conf/httpd.conf

또한 더 쉽게 읽을 수 있도록 다음과 같이 /다른 문자를 구분 기호로 사용할 수도 있습니다.#

sed '\#<Directory "/var/www/html">#,\#</Directory>#d' /etc/httpd/conf/httpd.conf

답변2

-이전에는 파일에 -파일이 없었기 때문에 필요하지 않습니다 <Directory ....

이 시도:

sed '/<Directory "\/var\/www\/html">/,/<\/Directory>/d' filename

관련 정보