特定のファイルでこのコマンドを使用していますが、sed
機能しません。
例えば
a="adsfkndsa%/{}==admfkdsa"
b=sadkfjdsaklfj
sed -i -e 's/$a/$b/g' /tmp/sample.txt
他の方法を提案してください。
答え1
私はこれを試してみましたが、私のシステム(Debian 8)で動作します。
sed -i.bak "s|$a|$b|g" /tmp/sample.txt
変数にはが$a
含まれているため、区切り文字を変更する必要があります/
。
今後:
cat /tmp/sample.txt.bak
foo
adsfkndsa%/{}==admfkdsa
bar
後ろに:
cat /tmp/sample.txt
foo
sadkfjdsaklfj
bar
編集、sedバージョン情報:
sed --version
sed (GNU sed) 4.2.2