2016-08-14 6 views

答えて

7

Dir::glob単一文字のワイルドカード(すなわち?)をサポートするシェルにしたくありません。あなたの例に基づいて、?を使って特定のディレクトリに適切なファイルを見つけて削除することができます。

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

はうまく動作します^^ –

+0

... 1文字のワイルドカードでは不十分な場合は、すべてのファイルを返すために '*'を使い、 'each'の前にブロックで' select'を挿入してください。 –

+0

は、File.join 'Dir.glob(File.join(File.dirname(__ FILE__)、 './tmp/ *。png')))であっても動作します。each' –

1

ワイルドカードを含むファイルを削除するには

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

select内の正規表現を使用して、必要なファイルを取得します。

関連する問題