ファイルから置き換えるためにランダムな文字列をsedにパイプする方法は? [コピー]

ファイルから置き換えるためにランダムな文字列をsedにパイプする方法は? [コピー]

私はこれを試しました:

echo $RANDOM | md5sum | head -c 20 | { read val; sed -i 's/__SALT__/$val/g' app.txt; }

ただし、これは変数の値ではなく__SALT__文字列に置き換えられます。$val

答え1

ここで解決策を見つけました。sedに変数を渡す

二重引用符のみが必要です。

echo $RANDOM | md5sum | head -c 20 | { read val; sed -i "s/__SALT__/$val/g" app.txt; }

関連情報