変数の文字に基づいて文字列をフィルタリングする方法は?

変数の文字に基づいて文字列をフィルタリングする方法は?

以下のコマンドの文字列変数から特殊文字を変数として渡して削除しようとしています。複数の文字の代わりに単一の文字を削除できますか?

string=#@$AAA%* 
a=#$@%*                  # Special characters which have to remove from variable
b=`echo $string|sed 's/\${a}//g'`
echo $b

ベストアンサー1

最新のシェルの「パラメータ拡張」を使用するときは、外部コマンドを実行する必要はありません。

echo ${string//["$a"]}
AAA

おすすめ記事