私のコードは以下のようなものです; そしてそれは機能していません。
line_number=$1;
variable1=$2;
sed '\$line_number c\
\$variable1' file > tmp.out
以下のように書くと、うまくいきます。上記のコードを実行する方法を教えてください。
sed '1 c\
<replace>abc</replace>' file > tmp.out
私のコードは以下のようなものです; そしてそれは機能していません。
line_number=$1;
variable1=$2;
sed '\$line_number c\
\$variable1' file > tmp.out
以下のように書くと、うまくいきます。上記のコードを実行する方法を教えてください。
sed '1 c\
<replace>abc</replace>' file > tmp.out
変数を一重引用符で囲みます。変数の前にバックスラッシュは必要ありません。
sed "$line_number"' c\
'"$variable1" file > tmp.out
あなたはこれを試すことができます、
#!/bin/bash
line_number=$1;
variable1=$2;
sed "$line_number c\
$variable1" file > tmp.out
sed 内で変数の値を使用する場合は、"
(二重引用符) を使用します。次に、シェルによって解釈されます。