From: "Jesús Gabriel y Galán" Date: 2013-01-10T00:48:53+09:00 Subject: Re: One liner for filenames On Wed, Jan 9, 2013 at 4:09 PM, Robert Klemme wrote: > On Tue, Jan 8, 2013 at 9:48 PM, Peter Bailey wrote: >> Hello, >> Can someone help me to write a Ruby one-liner to remove all the files >> except one in a list of files? I have a list of pages of an original >> PDF. Each page has been converted to a PNG file. They're each numbered >> with an underscore and a number at their end. >> >> filename_1.png >> filename_2.png >> filename_3.png >> ... >> >> I need to basically delete all of the files except for the first one, >> the one with the "_1" suffix at the end. Can I do that wiith a >> one-liner? > > ruby -r pathname -e 'Pathname.glob("*[^1].png").each(&:delete)' Careful, as this skips also filename_11.png, filename_21.png, etc. Building on this: ruby -r pathname -e 'Pathname.glob("*_{[^1],??}.png").each(&:delete)' Jesus.