sedを使用してドキュメント行の文字列を置き換えたいです。どこ電話番号値は変数から出なければなりません。$var。
私は試した:
sed '%ds/peer/md5/g' $var ./temp.txt
しかしそれは与える
sed: -e expression #1, char 1: unknown command: `%'
また試しました:
sed -e '"$var"s/peer/md5/g'-i ./temp.txt
sed: -e expression #1, char 1: unknown command: `"'
最後の試み:
printf '%ds/peer/md5/g;\n' 80 | sed -f - ./temp.txt
正しく印刷されますが、出力リダイレクト(>)または-iコマンドを使用して結果ファイルを保存することはできません。
答え1
私は正しい方法が次のようになることに気づきました。
sed "$var"'s/string1/string2/' -i ./temp.txt
どこ変わりやすいファイル行番号を持つ変数です。
答え2
sed -i.bak "s/existing_string/$new_string/g" ./temp.txt
sed -i.bak "s/$existing_string/new_string/g" ./temp.txt
ここに変数があります。$
変数を使用するときに内部変数をsed
使用する必要があることに注意してください。" "
このオプションは、-i.bak
ソースファイルのバックアップファイルを生成します。