我有多個文件(文件夾中包含成千上萬的文件),例如:
紅寶石 - 刪除與名稱匹配模式的所有文件
...
page_bonus.txt
page_code1.txt
page_code2.txt
page_text1.txt
page_text2.txt
page_text3.txt
...
如何刪除所有page_code *文件?
注:我不希望使用文件實用程序或外殼
我有多個文件(文件夾中包含成千上萬的文件),例如:
紅寶石 - 刪除與名稱匹配模式的所有文件
...
page_bonus.txt
page_code1.txt
page_code2.txt
page_text1.txt
page_text2.txt
page_text3.txt
...
如何刪除所有page_code *文件?
注:我不希望使用文件實用程序或外殼
Dir::glob
支持單個字符通配符(即?
)。根據您的示例,您可以使用?
找到給定目錄中的相應文件,然後將其刪除。
Dir.glob('/home/your_username/Documents/page_code?.txt').each { |file| File.delete(file)}
刪除帶通配符的文件。
Dir.glob("/tmp/files/*").select{ |file| /MY STRING/.match file }.each { |file| File.delete(file)}
中選擇正則表達式來抓住你想要的文件。
工作得很好,非常感謝^^ –
...如果單個字符的通配符不夠用,使用'*'返回所有文件並在'each'之前插入'select'。即使使用File.join Dir.glob(File.join(File.dirname(__ FILE__),'./tmp/*。png'))也可以運行 –
。 –