unstr man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

STRFILE(1)	   UNIX System Manager's Manual	       STRFILE(1)

NAME
       strfile - create a random access file for storing strings
       unstr - dump strings in pointer order

SYNOPSIS
       strfile [-iorsx] [-c char] sourcefile [outputfile]
       unstr [-c char] datafile[.ext] [outputfile]

DESCRIPTION
       strfile	reads a file containing groups of lines separated
       by a line containing a single percent `%' sign  (or  other
       specified  delimiter  character)	 and  creates a data file
       which contains a header structure and a table of file off
       sets for each group of lines. This allows random access of
       the strings.

       The output file, if not specified on the command line,  is
       named sourcefile.dat.

       The  purpose  of unstr is to undo the work of strfile.  It
       prints out the strings contained in the sourcefile,  which
       is  datafile.ext	 without its extension, or datafile if no
       extension is specified (in this case, the  extension  .dat
       is  added  to  the name of the datafile) in the order that
       they are listed in the header file datafile.  If	 no  out_
       putfile is specified, it prints to standard output; other
       wise it prints to the file specified.  unstr can also uni
       versally change the delimiter character in a strings file.
       It is possible to create sorted versions of input files by
       using  strfile -o and then using unstr to dump them out in
       the table order.

   Options
       The options are as follows:

       -c char
	      Change the delimiting character  from  the  percent
	      sign  to	char.	This option is available for both
	      strfile and unstr.

       -i     Ignore case when ordering the strings.

       -o     Order the strings in alphabetical order.	The  off
	      set  table will be sorted in the alphabetical order
	      of the groups of	lines  referenced.   Any  initial
	      non-alphanumeric	 characters   are  ignored.  This
	      option causes the STR_ORDERED  bit  in  the  header
	      str_flags field to be set. (It also now really does
	      sort! It didn't used to).

       -r     Randomize access to the strings.	 Entries  in  the
	      offset table will be randomly ordered.  This option
	      causes the STR_RANDOM bit in the	header	str_flags
	      field to be set. (And really does randomize)

       -s     Run  silently;  don't  give  a summary message when
	      finished.

       -x     Note that each alphabetic character in  the  groups
	      of lines is rotated 13 positions in a simple caesar
	      cypher.  This option causes the STR_ROTATED bit  in
	      the  header str_flags field to be set. Note that it
	      does not rotate the strings--that operation must be
	      performed separately.

   Header
       The format of the header is:

       #define VERSION 1
       unsigned long str_version;  /* version number */
       unsigned long str_numstr;   /* # of strings in the file */
       unsigned long str_longlen;  /* length of longest string */
       unsigned long str_shortlen; /* shortest string length */
       #define STR_RANDOM    0x1   /* randomized pointers */
       #define STR_ORDERED   0x2   /* ordered pointers */
       #define STR_ROTATED   0x4   /* rot-13'd text */
       unsigned long str_flags;	   /* bit field for flags */
       char str_delim;		   /* delimiting character */

       All fields are written in network byte order.

BUGS
       Fewer  now,  one	 hopes.	 However, fortunes (text strings)
       beginning with a blank line appear to  be  sorted  between
       random  letters.	 This includes ASCII art that contains no
       letters, and first lines that are solely non-alphanumeric,
       apparently.  I've no idea why this should be.

OTHER USES
       What  can  you do with this besides printing sarcastic and
       obscene messages to the screens	of  lusers  at	login  or
       logout?

       There  are  some	 other	possibilities.	Source code for a
       sample program, randstr, is included with  this	distribu
       tion: randstr splits the difference between unstr and for
       tune.  It reads a single,  specified  file,  and	 randomly
       selects a single text string.

       1      Include  strfile.h into a news reading/posting pro
	      gram, to generate random signatures.   Tin(1)  does
	      something similar, in a much more complex manner.

       2      Include  it  in a game.  While strfile doesn't sup
	      port 'fields' or 'records', there's no reason  that
	      the text strings can't be consistent: first line, a
	      die roll; second line, a score;  third  and  subse
	      quent lines, a text message.

       3      Use  it  to store your address book.  Hell, some of
	      the guys I know would be as well off  using  it  to
	      decide  who to call on Friday nights (and for some,
	      it wouldn't matter whether there were phone numbers
	      in it or not).

       4      Use  it in 'lottery' situations.	If you're an ISP,
	      write a script to store login names and GECOS  from
	      /etc/passwd  in  strfile	format,	 write another to
	      send 'congratulations, you've  won'  to  the  lucky
	      login  selected.	The prize might be a month's free
	      service, or if you're AOL, a month free on  a  real
	      service provider.

SEE ALSO
       byteorder(3), fortune(6)

HISTORY
       The strfile utility first appeared in 4.4BSD. This version
       was heavily modified, much  of  it  in  ways  peculiar  to
       Linux.	Work  has  since  been done to make the code more
       generic, and has so far been tested  to	work  with  SunOS
       4.x.   More platforms are expected to be supported as work
       continues.

4th Berkeley DistribuJune 9, 1993 [Apr. '97]	       STRFILE(1)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net