텍스트 파일이 있습니다. 텍스트 파일에는 다음 내용이 포함되어 있습니다.
ServerName
ServerAdmin webmaster@localhost
DocumentRoot
www.mydomain.com
끝에 텍스트를 삽입 해야 합니다 ServerName
. 이를 수행하는 명령이 있습니까?
답변1
사용 sed
:
sed 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt
캡처된 그룹은 \(ServerName\)
대체 모드에서 사용됩니다 \1
.
ssed
GNU, busybox 또는 일부 BSD 구현을 가정하여 파일을 제자리에서 편집하고 백업을 만듭니다 sed
.
sed -i.bak 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt
원본 파일은 로 유지되고 file.bak
, 수정된 파일은 으로 유지됩니다 file.txt.bak
.
제자리에서 편집, 백업 필요 없음( ssed
또는 busybox
GNU에만 해당):
sed -i 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt
(BSD의 경우 sed -i '' 's/...
)를 사용합니다.
캡처 그룹 없이 더 짧게:
sed -i 's/^ServerName$/& www.mydomain.com/' file.txt
이는 &
성냥으로 대체됩니다.
답변2
sed --in-place 's/ServerName/& www.example.com/' /path/to/apache-vhost.conf
답변3
sed를 사용하여 다음 명령을 대체하십시오.
sed -i 's/ServerName/ServerName www.mydomain.com/' file.txt