sed의 대체 정규식

sed의 대체 정규식

사용자가 입력한 내용을 확인하고 해당 값을 기반으로 파일에서 이를 바꾸는 스크립트를 만들고 있습니다.

지금까지 나는 (하지만 작동하지 않습니다) :

#!/bin/bash
read -p "Type your domain: " domain
sed -i -e /\$put\_your\_domain =/ s/= .*/= ${domain}/ /list_of_domains
echo cat list_of_domains | grep '$put_your_domain'

산출:

./t.sh
Type your domain: GOV
sed: -e expression #1, char 17: unterminated address regex

보시다시피 도메인을 어떤 도메인 유형으로든 교체하고 싶습니다. 예를 들어 다음과 같습니다.

$put_your_domain = JUS

$put_your_domain = GOV"list_of_domains"에서 이를 교체 하고 마지막으로 에코하고 싶습니다 .

답변1

$ grep '$put_your_domain' list_of_domains
$put_your_domain = JUS

$ domain=GOV

$ sed -Ei 's/(\$put_your_domain = ).*/\1'"$domain"'/' list_of_domains

$ grep '$put_your_domain' list_of_domains
$put_your_domain = GOV

셸의 따옴표에 대해 알아보려면 다음을 참조하세요.https://mywiki.wooledge.org/Quotes.

관련 정보