このコードでsedを使用してすべてのメタキャラクターを削除するシェルスクリプトを実行しています。
for file in /path/to/folder/*; do
mv "$file" "$(echo $file | sed "s,[()\^\$\?*+=\|#!@%&-],,g")"
done
うまく機能しますが、スラッシュ ("/") も検索するようにすると、すべてのファイルが削除されます。これは私が使ったものです。s,[/()\^\$\?*+=\|#!@%&-],,g
何故ですか?また、スラッシュもターゲットにする方法を教えてください。
ありがとう。