什么是文件通配?
What is file globbing?
我只是想知道什么是文件通配?我以前从未听说过它,当我尝试在网上查找时找不到它的定义。
Globbing 是 *
和 ?
以及您可能熟悉的其他一些模式匹配器。
Globbing interprets the standard wild card characters * and ?, character lists in square brackets, and certain other special characters (such as ^ for negating the sense of a match).
当 shell 发现 glob 时,它将执行 路径名扩展 并在调用程序时用匹配的文件名替换 glob。
以*
运算符为例,假设您想将当前目录中所有扩展名为.jpg
的文件复制到其他地方:
cp *.jpg /some/other/location
这里*.jpg
是一个glob模式,匹配当前目录下所有以.jpg
结尾的文件。它等同于(而且更容易)列出当前目录并手动输入您想要的每个文件:
$ ls
cat.jpg dog.jpg drawing.png recipes.txt zebra.jpg
$ cp cat.jpg dog.jpg zebra.jpg /some/other/location
请注意,它可能看起来很相似,但它与正则表达式不同。
你可以找到more detailed information here and here
我只是想知道什么是文件通配?我以前从未听说过它,当我尝试在网上查找时找不到它的定义。
Globbing 是 *
和 ?
以及您可能熟悉的其他一些模式匹配器。
Globbing interprets the standard wild card characters * and ?, character lists in square brackets, and certain other special characters (such as ^ for negating the sense of a match).
当 shell 发现 glob 时,它将执行 路径名扩展 并在调用程序时用匹配的文件名替换 glob。
以*
运算符为例,假设您想将当前目录中所有扩展名为.jpg
的文件复制到其他地方:
cp *.jpg /some/other/location
这里*.jpg
是一个glob模式,匹配当前目录下所有以.jpg
结尾的文件。它等同于(而且更容易)列出当前目录并手动输入您想要的每个文件:
$ ls
cat.jpg dog.jpg drawing.png recipes.txt zebra.jpg
$ cp cat.jpg dog.jpg zebra.jpg /some/other/location
请注意,它可能看起来很相似,但它与正则表达式不同。
你可以找到more detailed information here and here