我尝试使用正则表达式删除一组文件,但是 bash shell 返回消息
rm: cannot remove `[0-99]+ -': No such file or directory
rm: cannot remove `[a-zA-Z': No such file or directory
rm: cannot remove `]+.[a-z]+': No such file or directory
命令是[0-99]+\ - [a-zA-Z ]+\.[a-z]+
问题
- 我可以使用正则表达式吗?
- 如果是,我该如何将它们与诸如、等命令
rm
一起mkdir
使用
答案1
Bash(和其他 Unix shell)使用通配符,不是完整的正则表达式,并且范围不能包含空格。
答案2
使用正则表达式输入find
如下命令
find . -type f -regex regEXP
rm
并按以下方式结合使用
find . -type f -regex regEXP -exec rm -rf {} \;