ruby - 删除名称与模式匹配的所有文件

时间:2016-08-14 22:47:37

标签: ruby delete-file

我有多个文件(在包含数千个文件的文件夹中),例如:

...
page_bonus.txt
page_code1.txt
page_code2.txt
page_text1.txt
page_text2.txt
page_text3.txt
...

如何删除所有page_code *文件?

注意:我不想使用FileUtils或shell

2 个答案:

答案 0 :(得分:15)

Dir::glob支持单个字符通配符(即?)。根据您的示例,您可以使用?在给定目录中找到相应的文件,然后将其删除。

Dir.glob('/home/your_username/Documents/page_code?.txt').each { |file| File.delete(file)}

答案 1 :(得分:2)

使用通配符删除文件。

Dir.glob("/tmp/files/*").select{ |file| /MY STRING/.match file }.each { |file| File.delete(file)}

select中的正则表达式用于获取所需的文件。