Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
rwfglob(1)			 SiLK Tool Suite		      rwfglob(1)

NAME
     rwfglob - Print files that rwfilter's File Selection switches will access

SYNOPSIS
       rwfglob { [--class=CLASS] [--type={all | TYPE[,TYPE ...]}]
		 | [--flowtypes=CLASS/TYPE[,CLASS/TYPE ...]] }
	     [--sensors=SENSOR[,SENSOR ...]]
	     [--start-date=YYYY/MM/DD[:HH] [--end-date=YYYY/MM/DD[:HH]]]
	     [--data-rootdir=ROOT_DIRECTORY] [--site-config-file=FILENAME]
	     [--print-missing-files] [--no-block-check] [--no-file-names]
	     [--no-summary]

       rwfglob [--data-rootdir=ROOT_DIRECTORY]
	     [--site-config-file=FILENAME] --help

       rwfglob --version

DESCRIPTION
     rwfglob accepts the same File "Selection Switches" of rwfilter(1) and
     prints, to the standard output, the pathnames of the files that rwfilter
     would process, one file name per line.  At the end, a summary is printed to
     the standard output of the number of files that rwfglob found.  To suppress
     the printing of the file names and/or the summary, specify the
     --no-file-names and/or --no-summary switches, respectively.

     By default, rwfglob only prints the names of files that exist.  When the
     --print-missing-files switch is provided, rwfglob prints, to the standard
     error, the names of files that it did not find, one file name per line,
     preceded by the text 'Missing '.  To redirect the output of --print-miss-
     ing-files to the standard output, use the following in a Bourne-compatible
     shell:

      $ rwfglob --print-missing-files ... 2>&1

   Read Selection Argument Values from a File
     As of SiLK 3.20, the "Selection Switches" --class, --type, --flowtypes, and
     --sensors accept a value in the form "@PATH", where "@" is the "at" charac-
     ter (ASCII 0x40) and PATH names a file or a path to a file. For example,
     the following reads the name of types from the file t.txt and uses the sen-
     sors "S3", "S7", and the names and/or IDs read from /tmp/sensor.txt:

      rwfglob --type=@t.txt --sensors=S3,@/tmp/sensor.txt,S7

     Multiple @PATH values are allowed within a single argument.  If the name of
     the file is "-", the names are read from the standard input.

     The file must be a text file.  Blank lines are ignored as are comments,
     which begin with the "#" character and continue to the end of the line.
     Whitespace at the beginning and end of a line is ignored as is whitespace
     that surrounds commas; all other whitespace within a line is significant.

     A file may contain a value on each line and/or multiple values on a line
     separated by commas and optional whitespace.  For example:

      # Sensor 4
	    S4
      # The first sensors
      S0, S1,S2
      S3     # Sensor 3

     An attempt to use an @PATH directive in a file is an error.

     When rwfglob is parsing the name of a file, it converts the sequences "@,"
     and "@@" to "," and "@", respectively.  For example, --class=@cl@@ss.txt@,v
     reads the class from the file cl@ss.txt,v.  It is an error if any other
     character follows an embedded "@" (--flowtypes=@f@il contains @i) or if a
     single "@" occurs at the end of the name (--sensor=@errat@).

   Offline Storage Support
     For each file it finds, rwfglob will check the size of the file and the
     number of blocks allocated to the file.  If the block count is zero but the
     file size is non-zero, rwfglob treats the file as existing but as residing
     on tape.  The names of these files are printed to the standard output, but
     each name is preceded by the text '  \t*** ON_TAPE ***' where '\t' repre-
     sents a tab character.  The summary line will include the number of files
     that rwfglob believes are on tape.  To suppress this check and to remove
     the count from the summary line, use the --no-block-check switch.

OPTIONS
     Option names may be abbreviated if the abbreviation is unique or is an ex-
     act match for an option.  A parameter to an option may be specified as
     --arg=param or --arg param, though the first form is required for options
     that take optional parameters.

   Selection Switches
     This set of switches are the same as those used by rwfilter to select the
     files to process.	At least one of these switches must be provided.

     --class={CLASS | @PATH}
	 The --class switch is used to specify a group of files to print.  Only
	 a single class may be selected with the --class switch; for multiple
	 classes, use the --flowtypes switch.  The argument may be "@PATH" which
	 causes rwfglob to open the file PATH and read the class name from it;
	 see "Read Selection Argument Values from a File" for details.	Classes
	 are defined in the silk.conf(5) site configuration file.  If neither
	 the --class nor --flowtypes option is given, the default-class as spec-
	 ified in silk.conf is used.  To see the available classes and the de-
	 fault class, either examine the output from rwfglob --help or invoke
	 rwsiteinfo(1) with the switch --fields=class,default-class.

     --type={"all" | TYPE[,TYPE,@PATH ...]}
	 The --type predicate further specifies data within the selected CLASS
	 by listing the TYPEs of traffic to process.  The switch takes either
	 the keyword "all" to select all types for CLASS or a comma-separated
	 list of type names and "@PATH" directives, where @PATH tells rwfglob to
	 read type names from the file PATH; see "Read Selection Argument Values
	 from a File" for details.  Types are defined in silk.conf, they typi-
	 cally refer to the direction of the flow, and they may vary by class.
	 When neither the --type nor --flowtypes switch is given, a list of de-
	 fault types is used: The default-type list is determined by the value
	 of CLASS, and the default types often include only incoming traffic.
	 To see the available types and the default types for each class, exam-
	 ine the --help output of rwfglob or run rwsiteinfo with
	 --fields=class,type,default-type.

     --flowtypes=CLASS/TYPE[,CLASS/TYPE,@PATH ...]
	 The --flowtypes predicate provides an alternate way to specify
	 class/type pairs.  The --flowtypes switch allows a single rwfglob invo-
	 cation to print filenames from multiple classes.  The keyword "all" may
	 be used for the CLASS and/or TYPE to select all classes and/or types.
	 As of SiLK 3.20.0, the arguments may also include "@PATH" which causes
	 rwfglob to open the file PATH and read the class/type pairs from it;
	 see "Read Selection Argument Values from a File".

     --sensors=SENSOR[,SENSOR,SENSOR-GROUP,@PATH ...]
	 The --sensors switch is used to select data from specific sensors.  The
	 parameter is a comma separated list of sensor names, sensor IDs (inte-
	 gers), ranges of sensor IDs, sensor group names, and/or "@PATH" direc-
	 tives.  As described in "Read Selection Argument Values from a File",
	 @PATH tells rwfglob to read the names of the sensors from the file
	 PATH.	Sensors and sensor groups are defined in the silk.conf(5) site
	 configuration file, and the rwsiteinfo(1) command can be used to print
	 a mapping of sensor names to IDs and classes (--fields=sensor,id-sen-
	 sor,class:list).  When the --sensors switch is not specified, the de-
	 fault is to use all sensors which are valid for the specified
	 class(es).  Support for using sensor group names was added in SiLK
	 3.21.0.

     --start-date=YYYY/MM/DD[:HH]
     --end-date=YYYY/MM/DD[:HH]
	 The date predicates indicate which days and hours to consider when cre-
	 ating the list of files.  The dates may be expressed as seconds since
	 the UNIX epoch or in "YYYY/MM/DD[:HH]" format, where the hour is op-
	 tional.  A "T" may be used in place of the ":" to separate the day and
	 hour.	Whether the "YYYY/MM/DD[:HH]" strings represent times in UTC or
	 the local timezone depend on how SiLK was compiled.  To determine how
	 your version of SiLK was compiled, see the "Timezone support" setting
	 in the output from rwfglob --version.

	 When times are expressed in "YYYY/MM/DD[:HH]" format:

	 *   When both --start-date and --end-date are specified to hour preci-
	     sion, all hours within that time range are processed.

	 *   When --start-date is specified to day precision, the hour specified
	     in --end-date (if any) is ignored, and files for all dates between
	     midnight on start-date and 23:59 on end-date are processed.

	 *   When --start-date is specified to hour precision and --end-date is
	     specified to day precision, the hour of the start-date is used as
	     the hour for the end-date.

	 *   When --end-date is not specified and --start-date is specified to
	     day precision, files for that complete day are processed.

	 *   When --end-date is not specified and --start-date is specified to
	     hour precision, files for that single hour are processed.

	 When at least one time is expressed as seconds since the UNIX epoch:

	 *   When --end-date is specified in epoch seconds, the given
	     --start-date and --end-date are considered to be in hour precision.

	 *   When --start-date is specified in epoch seconds and --end-date is
	     specified in "YYYY/MM/DD[:HH]" format, the start-date is considered
	     to be in day precision if it divisible by 86400, and hour precision
	     otherwise.

	 *   When --start-date is specified in epoch seconds and --end-date is
	     not given, the start-date is considered to be in hour-precision.

	 When neither --start-date nor --end-date is given, rwfglob prints all
	 files for the current day.

	 It is an error to specify --end-date without specifying --start-date.

     --data-rootdir=ROOT_DIRECTORY
	 Tell rwfglob to use ROOT_DIRECTORY as the root of the data repository,
	 which overrides the location given in the SILK_DATA_ROOTDIR environment
	 variable, which in turn overrides the location that was compiled into
	 rwfglob (/data).

     --site-config-file=FILENAME
	 Read the SiLK site configuration from the named file FILENAME.  When
	 this switch is not provided, rwfglob searches for the site configura-
	 tion file in the locations specified in the "FILES" section.

     --print-missing-files
	 This option prints to the standard error the names of the files that
	 rwfglob expected to find but did not.	The file names are preceded by
	 the text 'Missing '; each file name appears on a separate line.  This
	 switch is useful for debugging, but the list of files it produces can
	 be misleading.  For example, suppose there is a decommissioned sensor
	 that still appears in the silk.conf file; rwfglob considers these data
	 files as missing even though their absence is expected.  Use the output
	 from this switch judiciously.

   Application Switches
     --no-block-check
	 This option instructs rwfglob not to check whether the file exists on
	 tape by checking whether the number of blocks allocated to the file is
	 zero.	By default, rwfglob precedes a file name that has a block count
	 of 0 with the text '  \t*** ON_TAPE ***'.

     --no-file-names
	 This option instructs rwfglob not to print the names of the files that
	 it successfully finds.  By default, rwfglob prints the names of the
	 files it finds and a summary line showing the number of files it found.
	 When both this switch and --print-missing-files are specified, rwfglob
	 prints only the names of missing files (and the summary).

     --no-summary
	 This option instructs rwfglob not to print the summary line (that is,
	 the line that shows the number of files found).  By default, rwfglob
	 prints the names of the files it finds and a summary line showing the
	 number of files it found.

     --help
	 Print the available options and exit.	The available classes and types
	 will be included in output; you may specify a different root directory
	 or site configuration file before --help to see the classes and types
	 available for that site.

     --version
	 Print the version number and information about how SiLK was configured,
	 then exit the application.

EXAMPLES
     In the following examples, the dollar sign ("$") represents the shell
     prompt.  The text after the dollar sign represents the command line.

     Looking at a day on a single sensor:

      $ rwfglob --start=2003/10/11 --sensor=2
      /data/in/2003/10/11/in-GAMMA_20031011.23
      /data/in/2003/10/11/in-GAMMA_20031011.22
      /data/in/2003/10/11/in-GAMMA_20031011.21
      /data/in/2003/10/11/in-GAMMA_20031011.20
      /data/in/2003/10/11/in-GAMMA_20031011.19
      /data/in/2003/10/11/in-GAMMA_20031011.18
      /data/in/2003/10/11/in-GAMMA_20031011.17
      /data/in/2003/10/11/in-GAMMA_20031011.16
      /data/in/2003/10/11/in-GAMMA_20031011.15
      /data/in/2003/10/11/in-GAMMA_20031011.14
      /data/in/2003/10/11/in-GAMMA_20031011.13
      /data/in/2003/10/11/in-GAMMA_20031011.12
      /data/in/2003/10/11/in-GAMMA_20031011.11
      /data/in/2003/10/11/in-GAMMA_20031011.10
      /data/in/2003/10/11/in-GAMMA_20031011.09
      /data/in/2003/10/11/in-GAMMA_20031011.08
      /data/in/2003/10/11/in-GAMMA_20031011.07
      /data/in/2003/10/11/in-GAMMA_20031011.06
      /data/in/2003/10/11/in-GAMMA_20031011.05
      /data/in/2003/10/11/in-GAMMA_20031011.04
      /data/in/2003/10/11/in-GAMMA_20031011.03
      /data/in/2003/10/11/in-GAMMA_20031011.02
      /data/in/2003/10/11/in-GAMMA_20031011.01
      /data/in/2003/10/11/in-GAMMA_20031011.00
      globbed 24 files; 0 on tape

     If you only want the summary, specify --no-file-names

      $ rwfglob --start-date=2003/10/11 --sensor=2 --no-file-names
      globbed 24 files; 0 on tape

ENVIRONMENT
     SILK_CONFIG_FILE
	 This environment variable is used as the value for the --site-con-
	 fig-file when that switch is not provided.

     SILK_DATA_ROOTDIR
	 This environment variable specifies the root directory of data reposi-
	 tory.	This value overrides the compiled-in value, and rwfglob uses it
	 unless the --data-rootdir switch is specified.  In addition, rwfglob
	 may use this value when searching for the SiLK site configuration file.
	 See the "FILES" section for details.

     SILK_PATH
	 This environment variable gives the root of the install tree.	When
	 searching for configuration files, rwfglob may use this environment
	 variable.  See the "FILES" section for details.

     TZ  When a SiLK installation is built to use the local timezone (to deter-
	 mine if this is the case, check the "Timezone support" value in the
	 output from rwfglob --version), the value of the TZ environment vari-
	 able determines the timezone in which rwfglob parses timestamps.  (The
	 date on the filenames that rwfglob returns are always in UTC.)  If the
	 TZ environment variable is not set, the default timezone is used.  Set-
	 ting TZ to 0 or the empty string causes timestamps to be parsed as UTC.
	 The value of the TZ environment variable is ignored when the SiLK in-
	 stallation uses utc.  For system information on the TZ variable, see
	 tzset(3) or environ(7).

FILES
     ${SILK_CONFIG_FILE}
     ROOT_DIRECTORY/silk.conf
     ${SILK_PATH}/share/silk/silk.conf
     ${SILK_PATH}/share/silk.conf
     /usr/local/share/silk/silk.conf
     /usr/local/share/silk.conf
	 Possible locations for the SiLK site configuration file which are
	 checked when the --site-config-file switch is not provided, where
	 ROOT_DIRECTORY/ is the directory rwfglob is using as the root of the
	 data repository.

     ${SILK_DATA_ROOTDIR}/
     /data/
	 Locations for the root directory of the data repository when the
	 --data-rootdir switch is not specified.

SEE ALSO
     rwfilter(1), rwsiteinfo(1), silk.conf(5), silk(7), tzset(3), environ(7)

NOTES
     The ability to use @PATH in --class, --type, --flowtypes, and --sensors was
     added in SiLK 3.20.0.

     As of SiLK 3.20.0, --types is an alias for --type.

     The --sensors switch also accepts the names of groups defined in the
     silk.conf(5) file as of SiLK 3.21.0.

     The output of --print-missing-files goes to the standard error, while all
     other output goes to the standard output.	To redirect the output of
     --print-missing-files to the standard output, use the following in a
     Bourne-compatible shell:

      $ rwfglob --print-missing-files ... 2>&1

     The --print-missing-files option needs to be smarter about what files are
     really missing.

     The block count check is of unknown portability across different tape-farm
     systems.

SiLK 3.22.2			   2026-08-27			      rwfglob(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rwfglob&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help