我是新来的,尝试学习终端指挥。今天,我遇到了cp通配符命令选项的一些问题。我在终端上写了这个命令
cp Downloads/[:alnum:] test/在这里,Downloads是我想要将字母数字字符文件复制到我的test目录的目录。但当我运行这个命令时,我发现:
cannot stat ‘Downloads/[:alnum:]’: No such file or directory我想知道如何为cp命令使用上述通配符类。以及如何使用上述通配符命令。
通配符是
*
?
[characters]
[!characters]
[[:classes:]]常用的类是
[:alnum:]-> Match any Alphanumeric Character
[:alpha:] -> Match any Alphabetic Character
[:digit:] -> Match any nummeral
[:lower:] -> Matches any lowercase letter
[:upper:] -> Matches any Uppercase letter如何使用这些通配符及其类?
发布于 2016-02-08 19:40:50
cp本身不支持任何通配符。通配符和模式的扩展是由shell完成的,默认情况下是bash。
在任何情况下,字符类都要在[]中指定--这就排除了已经包围它们的[]。就像这样:
cp Downloads/[[:alnum:]] test/但是,[[:alnum:]]只匹配一个字母数字字符。要匹配所有仅包含字母数字字符的文件名,只能使用已经列出的通配符。要获得更强大的过滤功能,请查看find命令:
find . -regextype posix-extended -maxdepth 1 -regex '.*/[[:alnum:]]*'在bash中,您可以使用扩展球体:
shopt -s extglob
cp Downloads/*([[:alnum:]]) test/https://askubuntu.com/questions/731319
复制相似问题