# How get filename from FTP::list

**URL:** <https://www.ruby-forum.com/t/how-get-filename-from-ftp-list/117441>\
**Category:** Ruby\
**Created:** [October 16, 2007, 10:31pm UTC](https://www.ruby-forum.com/t/how-get-filename-from-ftp-list/117441 "2007-10-16T22:31:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bazsl](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/ad7895/32.png) [@Bazsl](https://www.ruby-forum.com/u/Bazsl)\
**Post date:** [October 16, 2007, 10:31pm UTC](https://www.ruby-forum.com/t/how-get-filename-from-ftp-list/117441/1 "2007-10-16T22:31:54Z")

</div>

The following code displays the file’s date, time size and name. How can  
I access just the file’s name from within the block?

```
@@ftp.list(file_template) do |f|
  puts f.name
end

```

Thanks.

---

<div class="post-metadata">

**Author:** ![Bazsl](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/ad7895/32.png) [@Bazsl](https://www.ruby-forum.com/u/Bazsl)\
**Post date:** [October 17, 2007, 1:38am UTC](https://www.ruby-forum.com/t/how-get-filename-from-ftp-list/117441/2 "2007-10-17T01:38:59Z")

</div>

Bazsl wrote:

> The following code displays the file’s date, time size and name. How  
> can I access just the file’s name from within the block?
> 
> @@ftp.list(file\_template) do |f|  
> puts f.name  
> end
> 
> Thanks.

You can use Net:FTP#nlist[1] if you don’t need to filter them.  
Otherwise I suppose you could do something like:

@@ftp.list(file\_template) do |f|  
puts f.match(/:\d\d\s(.\*)$/)[1]  
end

Which works for me. I have no idea if FTP servers vary in their ls  
output.

-Justin

[1][http://ruby-doc.org/stdlib/libdoc/net/ftp/rdoc/classes/Net/FTP.html#M001055](http://ruby-doc.org/stdlib/libdoc/net/ftp/rdoc/classes/Net/FTP.html#M001055)
