packages icon



 GTKFIND(1)                     mattg@oz.net                      GTKFIND(1)
                                   gtkfind



 NAME
      gtkfind - a graphical file finding program

 SYNOPSIS
      gtkfind [-vanish] [-help] [-version]

 DESCRIPTION
      gtkfind is a graphical find program written using the GTK+ toolkit.
      Operation should be straightforward.  By default the program will
      search the / directory and match all files and directories.  You can
      narrow the match by using shell wildcards and curly braces.  There are
      also other file attributes you can match against, like owner and type.

 TUTORIAL
      First you must choose a directory in which to search.  You can just
      type the directory name, or you can use the Choose Directory button.
      This button brings up a file browser which you can use to select a
      directory.  You can also select whether or not you want to search the
      subdirectories of the directory you have chosen.  You may use the ~
      (tilde) character to specify a user's directory, as you would in the
      shell.  For example, ~ will search your home directory, and ~/src will
      search the directory src under your home directory.  Similarly, ~mattg
      will search the home directory of user mattg.

      Next, you must decide which files you want to match.  Each "card" has
      settings you can use to select a file.  Keep in mind that you don't
      have to fill in all the cards.  The default is to match everything.

    Filename
      On this card, you can enter the name of the file you want to match.
      If the simple substring button is selected, the find will match any
      filename containing the string you enter.  For example, the string
      .txt will match the files foo.txt and bar.txt, but not the file
      baz.text.  If the wildcard pattern button is selected, you can use the
      following wildcard characters just like in the shell:
           * - this character will match any or no characters.  For example,
      the pattern *.txt will match files named foo.txt and .txt, but not
      foo.text.
           ? - this character will match any one character.  For example,
      wibble.? will match files named wibble.c and wibble.s, but not wibble.
      or foo.c.
           [..] - square braces can be used to show a set of characters, any
      one of which will match.  For example, *.[ch] will match foo.c and
      foo.h.  A - inside the braces can be used to match a range, for
      example [1-5] will match the characters 1,2,3,4,5.  You can match an [
      or ] by putting them last or first, eg [[] will match [.
           {..} - curly braces will match comma separated strings.  For
      example, the pattern {foo,bar}.c will match foo.c and bar.c.
           (..) - parentheses will store portions of the match in registers.
      A gtkfind register is a place where a string is stored.  There are 10
      registers, and by default the complete name of the file that is



                                    - 1 -         Formatted:  April 24, 2024






 GTKFIND(1)                     mattg@oz.net                      GTKFIND(1)
                                   gtkfind



      matched is stored in register 0.  The nine other registers are filled
      left to right.  So the pattern (*)-backup.(??) which matches the file
      named TUES-backup.18, stores the string "TUES-backup.18" in register
      0, the string "TUES" in register 1, and the string "18" in register 2.
      You can insert these register values into a shell command which you
      can run when you match a filename.  This is explained under Shell
      Commands below.

    atime
      This card allows you to match a file's access time.  This is the last
      time that the file was read or executed.  You can manipulate the
      counters to set the time and date.  Hours are given in military or
      24-hour time.  You can choose whether you want to match files with
      access times earlier than, equal to, or later than the time you have
      entered.  This is not an exclusive or; you can match files that have
      atimes earlier than or equal to the time you have specified.

    ctime
      This is exactly the same as the atime card above, except that it
      matches against the last time the file's inode was changed.  This
      happens whenever a file is created, when its atime or mtime is
      changed, when its mode is changed, and other times too.

    mtime
      Ditto, except that this matches against mtime, which is the last time
      a file was modified, ie written to.  If you are curious about these
      times, you can use the stat(1) program to find out the atime, mtime,
      and ctime of files.

    Mode
      This card allows you to match against a file's mode or permissions.
      You can match against multiple permissions.

    Type
      This card allows you to match against a file's type.  This includes
      whether the file is a directory, a regular file, or any of the special
      files (symbolic links, devices, etc.).  You can also match against
      files that have the setuid, setgid, or sticky bits set.

    Owner
      Here you can match against a file's owner or group.  You can choose to
      match against the login name or group name (such as mattg), or against
      the User ID or Group ID numbers (uid or gid).  You can also match
      files without a known user or group by selecting the Match unknown
      users or Match unknown groups toggle buttons.

    Contents
      This card lets you enter a simple substring or wildcard pattern to
      match against the contents of files.  For example, to match all files
      containing the string linux you would either select the simple
      substring option and enter linux , or select the wildcard pattern



                                    - 2 -         Formatted:  April 24, 2024






 GTKFIND(1)                     mattg@oz.net                      GTKFIND(1)
                                   gtkfind



      option and enter the pattern *linux*.

    Shell Commands
      When you are done selecting the criteria to match a file against, you
      get to choose what you want to do with the files that meet those
      criteria.  The default action is to display the filenames in a window.
      You can also choose to print the filenames to the standard output, or
      not to print anything at all.

      If the Print extra data radio button is selected, data about matched
      files is printed in a format similar to the format of ls -l.  The
      default is to simply print the filenames, one per line.

      One thing you might want to do now is run a shell command on each file
      as it is matched.  To do this, select the Run a shell command box and
      enter the text of your command in the text space provided.  You can
      insert a register by using the characters \register-number.  So for
      example, given the pattern (*).txt you can use the command line mv \0
      \1.old to move the files foo.txt and bar.txt to foo.old and bar.old,
      respectively.

    Finding Files
      When you have selected the criteria you want to match against and
      decided whether or not you want to run a shell command against the
      files you match, you can click the Find button to run the search.
      Depending on whether you selected Print to stdout or Print to window
      the results will be printed to the standard output of gtkfind or will
      be displayed in a window.  If the Always print filename button is
      selected, gtkfind will print the name of each file that matches its
      criteria.  The output of any shell commands run on a file will appear
      beneath the filename.  This is often helpful when running shell
      commands.

      While the search is running, a Stop button will appear in place of the
      Find button.  Clicking this button will stop the search.

      The Quit button quits gtkfind.  The Clear button clears all search
      criteria, but does not change the Shell command or Search directory
      settings.  The Help button opens an xterm(1) showing this manual page,
      if this manual page is installed on your system.  The Save button will
      save your search as a shell script using find(1).  You can then run
      the search from the prompt.  Note that if you want to run additional
      shell commands on the files you find, you will have to add them to the
      file manually (only the search is saved).  Note also that if you do
      not have the GNU utilities these shell scripts may not work.  You can
      get the GNU tools from ftp.gnu.org and many other sites.

 OPTIONS
      -vanish
           Exit after the first run.  By default, the program sticks around
           and can be used multiple times.



                                    - 3 -         Formatted:  April 24, 2024






 GTKFIND(1)                     mattg@oz.net                      GTKFIND(1)
                                   gtkfind



      -help
           Print a helpful message to standard output and exit.

      -version
           Print the program version to standard output and exit.

 BUGS
      The Save command only works reliably for very simple searches.
      find(1) has trouble with complex conditionals.

 SEE ALSO
      find(1), file(1), grep(1), mktmp(1), stat(1), touch(1)

 COPYLEFT
      gtkfind is copyright 1999 by Matthew Grossman <mattg@oz.net> under the
      terms of the GNU GPL.  See the file COPYING in the source distribution
      for details.

 MAINTAINER
      mattg@oz.net


































                                    - 4 -         Formatted:  April 24, 2024