我一直在调查,似乎找不到答案。
我的文件名存储在字符串FILENAME中
FILENAME="my%fi;le.dat"
我正在遍历目录,试图查找包含以下任何字符的文件:
BAD_CHARS="%^();,"
如何确定(使用bash或工具)文件名中是否有(1个或多个)这些字符?
与bash
的正则表达式匹配=~
:
$ [[ "$FILENAME" =~ ["$BAD_CHARS"] ]] && echo "bad name!" || echo "valid name"
bad name!