我有多个文件(在包含数千个文件的文件夹中),例如:
...
page_bonus.txt
page_code1.txt
page_code2.txt
page_text1.txt
page_text2.txt
page_text3.txt
...
如何删除所有page_code *文件?
注意:我不想使用FileUtils或shell
答案 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中的正则表达式用于获取所需的文件。