내 구성 파일에는 이것이 있습니다
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
index.php
나는 그것을로 바꾸고 싶다index.temp
내가 이걸 만들었어
sed -i -e '/s/index.php/index.temp/‘ dir.conf
이것은 만든다,
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
ndex.php/index.temp/
답변1
명령 s///
앞에 가 붙어 있어 오해가 /
발생할 수 있습니다 sed
. 또한 종료하는 작은 따옴표가 일반적인 작은 따옴표가 아닌 것처럼 보이지만( ‘
그렇지 않음 '
) 이 질문에 문제가 있을 수 있습니다.
문자열의 모든 인스턴스를 파일의 모든 인스턴스 index.php
로 변경하려면 다음을 사용하십시오.index.temp
dir.conf
sed -i 's/index\.php/index.temp/g' dir.conf
패턴의 점은 정규 표현식에서 특별하기 때문에 이스케이프 처리해야 합니다(대신 사용할 수도 있음 [.]
) \.
. 또한 이는 -i
"제자리에서 편집"을 사용하고 있다는 점에 유의하세요.일반적으로 휴대하기가 쉽지 않습니다..
또는 myindex.php
로 변경하지 않으려면 및 ( 또는 둘 다 대신)를 사용하여 단어 경계를 일치시킵니다.myindex.temp
index.php3
index.temp3
\<
\>
\b
sed -i 's/\<index\.php\>/index.temp/g' dir.conf