I use the find command line utility nearly every day. It is amazing to manipulate large directory hierarchy with files. Unfortunately, I have missed the possibility to do like this:

find ftp://ftp.sunet.se/ -type f -exec gnomevfs-copy {} . \;

gvfsfind solves the problem. The prefix gvfs since it is based on gnome-vfs. The tool has a help that I hope can get you to start using it. Just start it with the flag -h.

Please note that you must access remote hosts anonymously or using cryptographic keys.


The first example prints all directories on the ftp-site:

 gvfsfind.py ftp://video.foo.org --type d --print 

To copy all files ending with .vob from the host skipper to the local host:

gvfsfind.py ssh://skipper/srv/movie --type f --name ".*\.vob" --exec "gnomevfs-copy %u ." 

Create all directories on the remote host skipper on the localhost:

gvfsfind ssh://skipper/ --type d --exec mkdir %d

Then copy all the files to the local host:

gvfsfind ssh://skipper/ --type f --exec gnomevfs-copy %u %d/%f


For now, the license for the software is GPL version 2.



Project/gvfsfind (last edited 2011-03-27 13:35:39 by magru)