sed を使用して文字列の途中に追加 [duplicate]

sed を使用して文字列の途中に追加 [duplicate]

私はsedスクリプトに初めて触れました。ユーザーにファイルに挿入する値を要求するスクリプトを作成したいと思います。正しいコードが見つかりません

だからテキストファイルの私の行は次のようになります

path =

ユーザーのパスを入力したいので、行は次のようになります。

path = /dev

試行錯誤を経て得たものは次のとおりです。

read -p "Enter path name: " PT
echo "$( sed -i '/path/ s/.*/& $PT/' textfile )"

これは作る

path = $PT

正しいコードを教えてください。

ベストアンサー1

一重引用符内では変数の拡張は行われません。代わりに二重引用符を使用してください。

/+変数はパスの一部として含まれるためです。 GNUの場合は、sed別の代替区切り文字を使用する必要があります。

read -p "Enter path name: " PT
sed -i "\#path# s#.*#& $PT#" infile

おすすめ記事