web-dev-qa-db-ja.com

ruby-パターンに一致する名前のすべてのファイルを削除します

私は複数のファイルを持っています(何千ものファイルを含むフォルダーに)、例:

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

すべてのpage_code *ファイルを削除するにはどうすればよいですか?

注:FileUtilsまたはShellを使用したくない

Dir::glob 1文字のワイルドカード(つまり、?)をサポートします。あなたの例に基づいて、?を使用して特定のディレクトリ内の適切なファイルを見つけて、それらを削除することができます。

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

ワイルドカードを使用してファイルを削除します。

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

Select内の正規表現は、必要なファイルを取得するために使用されます。

2
Ian Purton