Glob 匹配具有多个句点的文件路径

问题描述 投票:0回答:1

我正在尝试使用 glob 来匹配文件名中包含多个句点(包括扩展名)的文件。

ls /path/to/my/example.file.txt
ls /path/to/my/file.txt
ls /path/to/my-example.file.txt
ls /path/to/my.example.file.txt
ls /path/which/is/longer/to/my/example.file.txt
ls /path/which/is/even/longer/to/my/example.file.txt

我尝试使用以下内容;

ls /path/**/*.txt

但我只得到一些匹配。看起来,如果文件有多个句点,

*.txt
将不匹配。

我尝试了类似以下的方法,但它并没有真正起作用,我想有一种更干净的方法来完成此任务。

ls /path/**/[a-zA-Z0-9\.]*.txt
ls /path/**/**.txt
ls /path/**/*.*.txt     # Doesn't work for files with a single period

使用

ls
和路径仅作为示例。

我对底层程序可能无法正确实现通配符的想法持开放态度。

glob
1个回答
0
投票

我将 glob 传递给另一个程序,它在被程序读取之前在 bash 中扩展

program '/path/**/*.txt'   # works as expected
© www.soinside.com 2019 - 2024. All rights reserved.