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

おすすめ記事