我修改了防火墙规则,并且ufw创建了更改文件的备份。我想确保我没有意外删除某些内容,因此运行了以下内容:
$ ls *[[:digit:]*]_[[:digit:]*]
ls: cannot access '*[[:digit:]*]_[[:digit:]*]': No such file or directory
我也尝试过
$ ls *_[[:digit:]*]
ls: cannot access '*_[[:digit:]*]': No such file or directory
这里的下划线有什么问题?
最后,以下工作。但是它将匹配任何以任意数字结尾的文件。
$ ls *[[:digit:]*]
after6.rules.20191223_104857 after.rules.20191223_104857 before6.rules.20191223_104857
before.rules.20191223_104857 user6.rules.20191223_104857 user.rules.20191223_104857
如果有帮助,我的与全球相关的购物篮设置为
$ shopt | grep glob
dotglob on
extglob on
failglob off
globasciiranges on
globstar on
nocaseglob on
nullglob off
您假设[[:digit:]*]
表示“零个或多个数字”。这不是真的。它匹配一个数字或星号。
您打算使用的是extglob *([[:digit:]])
:
~/tmp $ ls **([[:digit:]])_*([[:digit:]])
after.rules.20191223_104857 before.rules.20191223_104857 user.rules.20191223_104857
after6.rules.20191223_104857 before6.rules.20191223_104857 user6.rules.20191223_104857
~/tmp $ ls *_*([[:digit:]])
after.rules.20191223_104857 before.rules.20191223_104857 user.rules.20191223_104857
after6.rules.20191223_104857 before6.rules.20191223_104857 user6.rules.20191223_104857