bash 正则表达式用于文件名

bash 正则表达式用于文件名

我对正则表达式确实不太擅长,但我认为我能做到这一点,因为它并不是那么困难。

我正在使用 find 来查看该目录中是否存在与正则表达式匹配的文件。字符串将始终相同。数字将有所不同,并且始终为 .csv

我试过各种各样的办法。我尝试了各种办法,但连名字都匹配不上。

find /some/dir -name [ String-20160603.csv ]

答案1

使用-regex而不是-name如下形式:

find /some/dir -regex '.*-\d{8}\.csv'

答案2

如果您正在搜索单个目录(您的问题似乎暗示了这一点),那么您只需使用 shell glob 即可:

ls String-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].csv

相关内容