이것은 상당히 초보자용 질문이지만 제가 하려는 작업은 매우 간단해야 합니다. 개발 환경 설치를 자동화하는 스크립트를 작성 중이지만 다음의 loadmodule
Apache 구성 파일에 주석을 달아야 합니다. 내 리눅스 머신.
LoadModule mpm_event_module modules/mod_mpm_event.so
다음 명령을 사용하여 댓글을 삭제할 수 있었습니다.
sudo sed -i '66s/.//' /etc/httpd/conf/httpd.conf
답변1
댓글 삽입:
sed 's/^ *LoadModule/#&/' /etc/httpd/conf/httpd.conf
댓글 삭제:
sed '/^ *# *LoadModule/s/#//' /etc/httpd/conf/httpd.conf
또는 공백도 제거하십시오.
sed '/^ *# *LoadModule/s/^ *# *//' /etc/httpd/conf/httpd.conf
특정 줄 번호에만 대체(삽입 또는 삭제)를 적용합니다. (자동 설치를 수행하기 위한 스크립트를 개발하려는 경우에는 좋은 생각이 아닙니다.)
# Apply on line 66 only
sed '66ba;p;d;:a /^ *# *LoadModule/s/^ *# *//' /etc/httpd/conf/httpd.conf
또는 (동일하지만 -e
다른 사람에게도 이식 가능 sed
):
sed -e '66ba' -e 'p;d;:a' -e ':a' -e '/^ *# *LoadModule/s/^ *# *//' /etc/httpd/conf/httpd.conf
또는
sed '66{/^ *# *LoadModule/s/^ *# *//}' /etc/httpd/conf/httpd.conf
일치를 적용하지 않고 고정 행 번호만 편집하려면 다음을 수행하십시오.
# Insert comment on line 66
sed '66s/^/#/' /etc/httpd/conf/httpd.conf
# Remove comment on line 66
sed '66s/^#//' /etc/httpd/conf/httpd.conf
# Remove spaces too
sed '66s/^ *# *//' /etc/httpd/conf/httpd.conf
구성 파일은 다음과 같이 처리됩니다.
(끼워 넣다)
LoadModule foo
LoadModule bar
(제거하다):
#LoadModule foo
#LoadModule bar
# LoadModule baz
# LoadModule bax
답변2
Vim을 사용하여 이 작업을 수행할 수도 있습니다.
vim -c '/LoadModule/s/^/#/|x' httpd.conf