xref: /freebsd/usr.bin/jot/jot.1 (revision d078aa135c4e9e563ba9279a5da46750cc0957ec)
19b50d902SRodney W. Grimes.\" Copyright (c) 1993
29b50d902SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
39b50d902SRodney W. Grimes.\"
49b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
59b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions
69b50d902SRodney W. Grimes.\" are met:
79b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
89b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
99b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
109b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
119b50d902SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
129b50d902SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software
139b50d902SRodney W. Grimes.\"    must display the following acknowledgement:
149b50d902SRodney W. Grimes.\"	This product includes software developed by the University of
159b50d902SRodney W. Grimes.\"	California, Berkeley and its contributors.
169b50d902SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors
179b50d902SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
189b50d902SRodney W. Grimes.\"    without specific prior written permission.
199b50d902SRodney W. Grimes.\"
209b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
219b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
229b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
239b50d902SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
249b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
259b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
269b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
279b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
289b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
299b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
309b50d902SRodney W. Grimes.\" SUCH DAMAGE.
319b50d902SRodney W. Grimes.\"
329b50d902SRodney W. Grimes.\"	@(#)jot.1	8.1 (Berkeley) 6/6/93
339b50d902SRodney W. Grimes.\"
34d078aa13SPhilippe Charnier.Dd June 6, 1993
35d078aa13SPhilippe Charnier.Dt JOT 1
36d078aa13SPhilippe Charnier.Os
37d078aa13SPhilippe Charnier.Sh NAME
38d078aa13SPhilippe Charnier.Nm jot
39d078aa13SPhilippe Charnier.Nd print sequential or random data
40d078aa13SPhilippe Charnier.Sh SYNOPSIS
41d078aa13SPhilippe Charnier.Nm jot
42d078aa13SPhilippe Charnier.Op Fl cnr
43d078aa13SPhilippe Charnier.Op Fl b Ar word
44d078aa13SPhilippe Charnier.Op Fl w Ar word
45d078aa13SPhilippe Charnier.Op Fl s Ar string
46d078aa13SPhilippe Charnier.Op Fl p Ar precision
47d078aa13SPhilippe Charnier.Op reps Op begin Op end Op s
48d078aa13SPhilippe Charnier.Sh DESCRIPTION
49d078aa13SPhilippe Charnier.Nm Jot
509b50d902SRodney W. Grimesis used to print out increasing, decreasing, random,
519b50d902SRodney W. Grimesor redundant data, usually numbers, one per line.
52d078aa13SPhilippe Charnier.Pp
53d078aa13SPhilippe CharnierThe following options are available:
54d078aa13SPhilippe Charnier.Bl -tag -width indent
55d078aa13SPhilippe Charnier.It Fl r
569b50d902SRodney W. GrimesGenerate random data instead of sequential data, the default.
57d078aa13SPhilippe Charnier.It Fl b Ar word
589b50d902SRodney W. GrimesJust print
59d078aa13SPhilippe Charnier.Ar word
609b50d902SRodney W. Grimesrepetitively.
61d078aa13SPhilippe Charnier.It Fl w Ar word
629b50d902SRodney W. GrimesPrint
63d078aa13SPhilippe Charnier.Ar word
649b50d902SRodney W. Grimeswith the generated data appended to it.
65d078aa13SPhilippe CharnierOctal, hexadecimal, exponential,
66d078aa13SPhilippe Charnier.Tn ASCII ,
67d078aa13SPhilippe Charnierzero padded,
689b50d902SRodney W. Grimesand right-adjusted representations
699b50d902SRodney W. Grimesare possible by using the appropriate
70d078aa13SPhilippe Charnier.Xr printf 3
719b50d902SRodney W. Grimesconversion specification inside
72d078aa13SPhilippe Charnier.Ar word ,
739b50d902SRodney W. Grimesin which case the data are inserted rather than appended.
74d078aa13SPhilippe Charnier.It Fl c
75d078aa13SPhilippe CharnierThis is an abbreviation for
76d078aa13SPhilippe Charnier.Fl w Ar %c .
77d078aa13SPhilippe Charnier.It Fl s Ar string
789b50d902SRodney W. GrimesPrint data separated by
79d078aa13SPhilippe Charnier.Ar string .
809b50d902SRodney W. GrimesNormally, newlines separate data.
81d078aa13SPhilippe Charnier.It Fl n
829b50d902SRodney W. GrimesDo not print the final newline normally appended to the output.
83d078aa13SPhilippe Charnier.It Fl p Ar precision
849b50d902SRodney W. GrimesPrint only as many digits or characters of the data
859b50d902SRodney W. Grimesas indicated by the integer
86d078aa13SPhilippe Charnier.Ar precision .
879b50d902SRodney W. GrimesIn the absence of
88d078aa13SPhilippe Charnier.Fl p ,
899b50d902SRodney W. Grimesthe precision is the greater of the precisions of
90d078aa13SPhilippe Charnier.Ar begin
919b50d902SRodney W. Grimesand
92d078aa13SPhilippe Charnier.Ar end .
939b50d902SRodney W. GrimesThe
94d078aa13SPhilippe Charnier.Fl p
959b50d902SRodney W. Grimesoption is overridden by whatever appears in a
96d078aa13SPhilippe Charnier.Xr printf 3
979b50d902SRodney W. Grimesconversion following
98d078aa13SPhilippe Charnier.Fl w .
99d078aa13SPhilippe Charnier.El
100d078aa13SPhilippe Charnier.Pp
1019b50d902SRodney W. GrimesThe last four arguments indicate, respectively,
1029b50d902SRodney W. Grimesthe number of data, the lower bound, the upper bound,
1039b50d902SRodney W. Grimesand the step size or, for random data, the seed.
1049b50d902SRodney W. GrimesWhile at least one of them must appear,
1059b50d902SRodney W. Grimesany of the other three may be omitted, and
1069b50d902SRodney W. Grimeswill be considered as such if given as
107d078aa13SPhilippe Charnier.Fl "" .
1089b50d902SRodney W. GrimesAny three of these arguments determines the fourth.
1099b50d902SRodney W. GrimesIf four are specified and the given and computed values of
110d078aa13SPhilippe Charnier.Ar reps
1119b50d902SRodney W. Grimesconflict, the lower value is used.
1129b50d902SRodney W. GrimesIf fewer than three are specified, defaults are assigned
1139b50d902SRodney W. Grimesleft to right, except for
114d078aa13SPhilippe Charnier.Ar s ,
1159b50d902SRodney W. Grimeswhich assumes its default unless both
116d078aa13SPhilippe Charnier.Ar begin
1179b50d902SRodney W. Grimesand
118d078aa13SPhilippe Charnier.Ar end
1199b50d902SRodney W. Grimesare given.
120d078aa13SPhilippe Charnier.Pp
1219b50d902SRodney W. GrimesDefaults for the four arguments are, respectively,
1229b50d902SRodney W. Grimes100, 1, 100, and 1, except that when random data are requested,
123d078aa13SPhilippe Charnier.Ar s
1249b50d902SRodney W. Grimesdefaults to a seed depending upon the time of day.
125d078aa13SPhilippe Charnier.Ar Reps
1269b50d902SRodney W. Grimesis expected to be an unsigned integer,
1279b50d902SRodney W. Grimesand if given as zero is taken to be infinite.
128d078aa13SPhilippe Charnier.Ar Begin
1299b50d902SRodney W. Grimesand
130d078aa13SPhilippe Charnier.Ar end
1319b50d902SRodney W. Grimesmay be given as real numbers or as characters
132d078aa13SPhilippe Charnierrepresenting the corresponding value in
133d078aa13SPhilippe Charnier.Tn ASCII .
1349b50d902SRodney W. GrimesThe last argument must be a real number.
135d078aa13SPhilippe Charnier.Pp
1369b50d902SRodney W. GrimesRandom numbers are obtained through
137d078aa13SPhilippe Charnier.Xr random 3 .
1389b50d902SRodney W. GrimesThe name
139d078aa13SPhilippe Charnier.Nm
1409b50d902SRodney W. Grimesderives in part from
141d078aa13SPhilippe Charnier.Nm iota ,
1429b50d902SRodney W. Grimesa function in APL.
143d078aa13SPhilippe Charnier.Sh EXAMPLES
1449b50d902SRodney W. GrimesThe command
145d078aa13SPhilippe Charnier.Dl jot 21 -1 1.00
146d078aa13SPhilippe Charnier.Pp
147d078aa13SPhilippe Charnierprints 21 evenly spaced numbers increasing from -1 to 1.
148d078aa13SPhilippe CharnierThe
149d078aa13SPhilippe Charnier.Tn ASCII
150d078aa13SPhilippe Charniercharacter set is generated with
151d078aa13SPhilippe Charnier.Dl jot -c 128 0
152d078aa13SPhilippe Charnier.Pp
1539b50d902SRodney W. Grimesand the strings xaa through xaz with
154d078aa13SPhilippe Charnier.Dl jot -w xa%c 26 a
155d078aa13SPhilippe Charnier.Pp
1569b50d902SRodney W. Grimeswhile 20 random 8-letter strings are produced with
157d078aa13SPhilippe Charnier.Dl "jot -r -c 160 a z | rs -g 0 8"
158d078aa13SPhilippe Charnier.Pp
1599b50d902SRodney W. GrimesInfinitely many
160d078aa13SPhilippe Charnier.Em yes Ns 's
1619b50d902SRodney W. Grimesmay be obtained through
162d078aa13SPhilippe Charnier.Dl jot -b yes 0
163d078aa13SPhilippe Charnier.Pp
1649b50d902SRodney W. Grimesand thirty
165d078aa13SPhilippe Charnier.Xr ed 1
1669b50d902SRodney W. Grimessubstitution commands applying to lines 2, 7, 12, etc. is
1679b50d902SRodney W. Grimesthe result of
168d078aa13SPhilippe Charnier.Dl jot -w %ds/old/new/ 30 2 - 5
169d078aa13SPhilippe Charnier.Pp
1709b50d902SRodney W. GrimesThe stuttering sequence 9, 9, 8, 8, 7, etc. can be
1719b50d902SRodney W. Grimesproduced by suitable choice of precision and step size,
1729b50d902SRodney W. Grimesas in
173d078aa13SPhilippe Charnier.Dl jot 0 9 - -.5
174d078aa13SPhilippe Charnier.Pp
1759b50d902SRodney W. Grimesand a file containing exactly 1024 bytes is created with
176d078aa13SPhilippe Charnier.Dl jot -b x 512 > block
177d078aa13SPhilippe Charnier.Pp
1789b50d902SRodney W. GrimesFinally, to set tabs four spaces apart starting
1799b50d902SRodney W. Grimesfrom column 10 and ending in column 132, use
180d078aa13SPhilippe Charnier.Dl expand -`jot -s, - 10 132 4`
181d078aa13SPhilippe Charnier.Pp
1829b50d902SRodney W. Grimesand to print all lines 80 characters or longer,
183d078aa13SPhilippe Charnier.Dl grep `jot -s \&"\&" -b \&. 80`
184d078aa13SPhilippe Charnier.Pp
185d078aa13SPhilippe Charnier.Sh SEE ALSO
186d078aa13SPhilippe Charnier.Xr ed 1 ,
187d078aa13SPhilippe Charnier.Xr expand 1 ,
188d078aa13SPhilippe Charnier.Xr rs 1 ,
189d078aa13SPhilippe Charnier.Xr yes 1 ,
190d078aa13SPhilippe Charnier.Xr printf 3 ,
191d078aa13SPhilippe Charnier.Xr random 3
192