~ubuntu-branches/ubuntu/breezy/fortunes-es/breezy

« back to all changes in this revision

Viewing changes to util/strfile.8

  • Committer: Bazaar Package Importer
  • Author(s): Javier Fernandez-Sanguino Pen~a
  • Date: 2005-04-24 01:52:04 UTC
  • mfrom: (1.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20050424015204-ndov9cxtiho7l0jf
Tags: 1.24
Added feminist fortunes provided by Miriam Ruiz to the -off package

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\"     $NetBSD: strfile.8,v 1.3 1995/03/23 08:28:45 cgd Exp $
 
2
.\"
 
3
.\" Copyright (c) 1989, 1991, 1993
 
4
.\"     The Regents of the University of California.  All rights reserved.
 
5
.\"
 
6
.\" 
 
7
.\" This code is derived from software contributed to Berkeley by
 
8
.\" Ken Arnold.
 
9
.\"
 
10
.\" Redistribution and use in source and binary forms, with or without
 
11
.\" modification, are permitted provided that the following conditions
 
12
.\" are met:
 
13
.\" 1. Redistributions of source code must retain the above copyright
 
14
.\"    notice, this list of conditions and the following disclaimer.
 
15
.\" 2. Redistributions in binary form must reproduce the above copyright
 
16
.\"    notice, this list of conditions and the following disclaimer in the
 
17
.\"    documentation and/or other materials provided with the distribution.
 
18
.\" 3. All advertising materials mentioning features or use of this software
 
19
.\"    must display the following acknowledgement:
 
20
.\"     This product includes software developed by the University of
 
21
.\"     California, Berkeley and its contributors.
 
22
.\" 4. Neither the name of the University nor the names of its contributors
 
23
.\"    may be used to endorse or promote products derived from this software
 
24
.\"    without specific prior written permission.
 
25
.\"
 
26
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 
27
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
28
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
29
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 
30
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
31
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
32
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
33
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
34
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
35
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
36
.\" SUCH DAMAGE.
 
37
.\"
 
38
.\"     @(#)strfile.8   8.1 (Berkeley) 6/9/93
 
39
.\"
 
40
.Dd June 9, 1993
 
41
.Dt STRFILE 8
 
42
.Os BSD 4
 
43
.Sh NAME
 
44
.Nm strfile ,
 
45
.Nm unstr
 
46
.Nd "create a random access file for storing strings"
 
47
.Sh SYNOPSIS
 
48
.Nm strfile
 
49
.Op Fl iorsx
 
50
.Op Fl c Ar char
 
51
.Ar source_file
 
52
.Op Ar output_file
 
53
.Nm unstr
 
54
.Ar source_file
 
55
.Sh DESCRIPTION
 
56
.Nm Strfile
 
57
reads a file containing groups of lines separated by a line containing
 
58
a single percent
 
59
.Ql \&%
 
60
sign and creates a data file which contains
 
61
a header structure and a table of file offsets for each group of lines.
 
62
This allows random access of the strings.
 
63
.Pp
 
64
The output file, if not specified on the command line, is named
 
65
.Ar source_file Ns Sy .out .
 
66
.Pp
 
67
The options are as follows:
 
68
.Bl -tag -width "-c char"
 
69
.It Fl c Ar char
 
70
Change the delimiting character from the percent sign to
 
71
.Ar char .
 
72
.It Fl i
 
73
Ignore case when ordering the strings.
 
74
.It Fl o
 
75
Order the strings in alphabetical order.
 
76
The offset table will be sorted in the alphabetical order of the
 
77
groups of lines referenced.
 
78
Any initial non-alphanumeric characters are ignored.
 
79
This option causes the
 
80
.Dv STR_ORDERED
 
81
bit in the header
 
82
.Ar str_flags
 
83
field to be set.
 
84
.It Fl r
 
85
Randomize access to the strings.
 
86
Entries in the offset table will be randomly ordered.
 
87
This option causes the
 
88
.Dv STR_RANDOM
 
89
bit in the header
 
90
.Ar str_flags
 
91
field to be set.
 
92
.It Fl s
 
93
Run silently; don't give a summary message when finished.
 
94
.It Fl x
 
95
Note that each alphabetic character in the groups of lines is rotated
 
96
13 positions in a simple caesar cypher.
 
97
This option causes the
 
98
.Dv STR_ROTATED
 
99
bit in the header
 
100
.Ar str_flags
 
101
field to be set.
 
102
.El
 
103
.Pp
 
104
The format of the header is:
 
105
.Bd -literal
 
106
#define VERSION 2
 
107
u_int32_t       str_version;    /* version number */
 
108
u_int32_t       str_numstr;     /* # of strings in the file */
 
109
u_int32_t       str_longlen;    /* length of longest string */
 
110
u_int32_t       str_shortlen;   /* length of shortest string */
 
111
#define STR_RANDOM      0x1     /* randomized pointers */
 
112
#define STR_ORDERED     0x2     /* ordered pointers */
 
113
#define STR_ROTATED     0x4     /* rot-13'd text */
 
114
u_int32_t       str_flags;      /* bit field for flags */
 
115
u_int8_t        str_delim;      /* delimiting character */
 
116
.Ed
 
117
.Pp
 
118
All fields are written in network byte order.  Each field is also
 
119
written independantly so as to avoid structure padding problems on
 
120
some architectures.
 
121
.Pp
 
122
The purpose of
 
123
.Nm unstr
 
124
is to undo the work of
 
125
.Nm strfile .
 
126
It prints out the strings contained in the file
 
127
.Ar source_file
 
128
in the order that they are listed in
 
129
the header file
 
130
.Ar source_file Ns Pa .dat
 
131
to standard output.
 
132
It is possible to create sorted versions of input files by using
 
133
.Fl o
 
134
when
 
135
.Nm strfile
 
136
is run and then using
 
137
.Nm unstr
 
138
to dump them out in the table order.
 
139
.Sh SEE ALSO
 
140
.Xr byteorder 3 ,
 
141
.Xr fortune 6
 
142
.Sh FILES
 
143
.Bl -tag -width strfile.out -compact
 
144
.It Pa strfile.out
 
145
default output file.
 
146
.El
 
147
.Sh HISTORY
 
148
The
 
149
.Nm strfile
 
150
utility first appeared in 4.4BSD.