xref: /freebsd/usr.bin/jot/jot.1 (revision fee14f30e9ba78d00e6259f720eace5498916a4a)
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
33c3aac50fSPeter Wemm.\" $FreeBSD$
349b50d902SRodney W. Grimes.\"
35d078aa13SPhilippe Charnier.Dd June 6, 1993
36d078aa13SPhilippe Charnier.Dt JOT 1
37d078aa13SPhilippe Charnier.Os
38d078aa13SPhilippe Charnier.Sh NAME
39d078aa13SPhilippe Charnier.Nm jot
40d078aa13SPhilippe Charnier.Nd print sequential or random data
41d078aa13SPhilippe Charnier.Sh SYNOPSIS
428fe908efSRuslan Ermilov.Nm
43d078aa13SPhilippe Charnier.Op Fl cnr
44d078aa13SPhilippe Charnier.Op Fl b Ar word
45d078aa13SPhilippe Charnier.Op Fl w Ar word
46d078aa13SPhilippe Charnier.Op Fl s Ar string
47d078aa13SPhilippe Charnier.Op Fl p Ar precision
48ff9a78c0SRuslan Ermilov.Op Ar reps Op Ar begin Op Ar end Op Ar s
49d078aa13SPhilippe Charnier.Sh DESCRIPTION
50e8937ba0SPhilippe CharnierThe
51e8937ba0SPhilippe Charnier.Nm
52e8937ba0SPhilippe Charnierutility is used to print out increasing, decreasing, random,
539b50d902SRodney W. Grimesor redundant data, usually numbers, one per line.
54d078aa13SPhilippe Charnier.Pp
55d078aa13SPhilippe CharnierThe following options are available:
56d078aa13SPhilippe Charnier.Bl -tag -width indent
57d078aa13SPhilippe Charnier.It Fl r
5886fb9103SSteve PriceGenerate random data instead of the default sequential data.
59d078aa13SPhilippe Charnier.It Fl b Ar word
609b50d902SRodney W. GrimesJust print
61d078aa13SPhilippe Charnier.Ar word
629b50d902SRodney W. Grimesrepetitively.
63d078aa13SPhilippe Charnier.It Fl w Ar word
649b50d902SRodney W. GrimesPrint
65d078aa13SPhilippe Charnier.Ar word
669b50d902SRodney W. Grimeswith the generated data appended to it.
67d078aa13SPhilippe CharnierOctal, hexadecimal, exponential,
68d078aa13SPhilippe Charnier.Tn ASCII ,
69d078aa13SPhilippe Charnierzero padded,
709b50d902SRodney W. Grimesand right-adjusted representations
719b50d902SRodney W. Grimesare possible by using the appropriate
72d078aa13SPhilippe Charnier.Xr printf 3
739b50d902SRodney W. Grimesconversion specification inside
74d078aa13SPhilippe Charnier.Ar word ,
759b50d902SRodney W. Grimesin which case the data are inserted rather than appended.
76d078aa13SPhilippe Charnier.It Fl c
77d078aa13SPhilippe CharnierThis is an abbreviation for
78d078aa13SPhilippe Charnier.Fl w Ar %c .
79d078aa13SPhilippe Charnier.It Fl s Ar string
809b50d902SRodney W. GrimesPrint data separated by
81d078aa13SPhilippe Charnier.Ar string .
829b50d902SRodney W. GrimesNormally, newlines separate data.
83d078aa13SPhilippe Charnier.It Fl n
849b50d902SRodney W. GrimesDo not print the final newline normally appended to the output.
85d078aa13SPhilippe Charnier.It Fl p Ar precision
869b50d902SRodney W. GrimesPrint only as many digits or characters of the data
879b50d902SRodney W. Grimesas indicated by the integer
88d078aa13SPhilippe Charnier.Ar precision .
899b50d902SRodney W. GrimesIn the absence of
90d078aa13SPhilippe Charnier.Fl p ,
919b50d902SRodney W. Grimesthe precision is the greater of the precisions of
92d078aa13SPhilippe Charnier.Ar begin
939b50d902SRodney W. Grimesand
94d078aa13SPhilippe Charnier.Ar end .
959b50d902SRodney W. GrimesThe
96d078aa13SPhilippe Charnier.Fl p
979b50d902SRodney W. Grimesoption is overridden by whatever appears in a
98d078aa13SPhilippe Charnier.Xr printf 3
999b50d902SRodney W. Grimesconversion following
100d078aa13SPhilippe Charnier.Fl w .
101d078aa13SPhilippe Charnier.El
102d078aa13SPhilippe Charnier.Pp
1039b50d902SRodney W. GrimesThe last four arguments indicate, respectively,
1049b50d902SRodney W. Grimesthe number of data, the lower bound, the upper bound,
1059b50d902SRodney W. Grimesand the step size or, for random data, the seed.
1069b50d902SRodney W. GrimesWhile at least one of them must appear,
1079b50d902SRodney W. Grimesany of the other three may be omitted, and
1089b50d902SRodney W. Grimeswill be considered as such if given as
109fee14f30SDiomidis Spinellis.Fl ""
110fee14f30SDiomidis Spinellisor as an empty string.
1119b50d902SRodney W. GrimesAny three of these arguments determines the fourth.
1129b50d902SRodney W. GrimesIf four are specified and the given and computed values of
113d078aa13SPhilippe Charnier.Ar reps
1149b50d902SRodney W. Grimesconflict, the lower value is used.
1159b50d902SRodney W. GrimesIf fewer than three are specified, defaults are assigned
1169b50d902SRodney W. Grimesleft to right, except for
117d078aa13SPhilippe Charnier.Ar s ,
1189b50d902SRodney W. Grimeswhich assumes its default unless both
119d078aa13SPhilippe Charnier.Ar begin
1209b50d902SRodney W. Grimesand
121d078aa13SPhilippe Charnier.Ar end
1229b50d902SRodney W. Grimesare given.
123d078aa13SPhilippe Charnier.Pp
1249b50d902SRodney W. GrimesDefaults for the four arguments are, respectively,
1259b50d902SRodney W. Grimes100, 1, 100, and 1, except that when random data are requested,
12686fb9103SSteve Pricethe seed,
12786fb9103SSteve Price.Ar s ,
12886fb9103SSteve Priceis picked randomly.
129ff9a78c0SRuslan ErmilovThe
130ff9a78c0SRuslan Ermilov.Ar reps
131ff9a78c0SRuslan Ermilovargument is expected to be an unsigned integer,
1329b50d902SRodney W. Grimesand if given as zero is taken to be infinite.
133ff9a78c0SRuslan ErmilovThe
134ff9a78c0SRuslan Ermilov.Ar begin
1359b50d902SRodney W. Grimesand
136d078aa13SPhilippe Charnier.Ar end
137ff9a78c0SRuslan Ermilovarguments may be given as real numbers or as characters
138d078aa13SPhilippe Charnierrepresenting the corresponding value in
139d078aa13SPhilippe Charnier.Tn ASCII .
1409b50d902SRodney W. GrimesThe last argument must be a real number.
141d078aa13SPhilippe Charnier.Pp
1429b50d902SRodney W. GrimesRandom numbers are obtained through
143a26a6612SDiomidis Spinellis.Xr arc4random 3
144a26a6612SDiomidis Spinelliswhen no seed is specified,
145a26a6612SDiomidis Spinellisand through
146a26a6612SDiomidis Spinellis.Xr random 3
147a26a6612SDiomidis Spinelliswhen a seed is given.
1489b50d902SRodney W. GrimesThe name
149d078aa13SPhilippe Charnier.Nm
1509b50d902SRodney W. Grimesderives in part from
151d078aa13SPhilippe Charnier.Nm iota ,
1529b50d902SRodney W. Grimesa function in APL.
1536c7216dfSRuslan Ermilov.Sh EXIT STATUS
1546c7216dfSRuslan Ermilov.Ex -std
155d078aa13SPhilippe Charnier.Sh EXAMPLES
1569b50d902SRodney W. GrimesThe command
157d078aa13SPhilippe Charnier.Dl jot 21 -1 1.00
158d078aa13SPhilippe Charnier.Pp
159d078aa13SPhilippe Charnierprints 21 evenly spaced numbers increasing from -1 to 1.
160d078aa13SPhilippe CharnierThe
161d078aa13SPhilippe Charnier.Tn ASCII
162d078aa13SPhilippe Charniercharacter set is generated with
163d078aa13SPhilippe Charnier.Dl jot -c 128 0
164d078aa13SPhilippe Charnier.Pp
1659b50d902SRodney W. Grimesand the strings xaa through xaz with
166d078aa13SPhilippe Charnier.Dl jot -w xa%c 26 a
167d078aa13SPhilippe Charnier.Pp
1689b50d902SRodney W. Grimeswhile 20 random 8-letter strings are produced with
169d078aa13SPhilippe Charnier.Dl "jot -r -c 160 a z | rs -g 0 8"
170d078aa13SPhilippe Charnier.Pp
1719b50d902SRodney W. GrimesInfinitely many
172d078aa13SPhilippe Charnier.Em yes Ns 's
1739b50d902SRodney W. Grimesmay be obtained through
174d078aa13SPhilippe Charnier.Dl jot -b yes 0
175d078aa13SPhilippe Charnier.Pp
1769b50d902SRodney W. Grimesand thirty
177d078aa13SPhilippe Charnier.Xr ed 1
1786a3e8b0aSRuslan Ermilovsubstitution commands applying to lines 2, 7, 12, etc.\& is
1799b50d902SRodney W. Grimesthe result of
180d078aa13SPhilippe Charnier.Dl jot -w %ds/old/new/ 30 2 - 5
181d078aa13SPhilippe Charnier.Pp
1826a3e8b0aSRuslan ErmilovThe stuttering sequence 9, 9, 8, 8, 7, etc.\& can be
1834b9cb490SKris Kennawayproduced by suitable choice of step size,
1849b50d902SRodney W. Grimesas in
1854b9cb490SKris Kennaway.Dl jot - 9 0 -.5
186d078aa13SPhilippe Charnier.Pp
1879b50d902SRodney W. Grimesand a file containing exactly 1024 bytes is created with
188d078aa13SPhilippe Charnier.Dl jot -b x 512 > block
189d078aa13SPhilippe Charnier.Pp
1909b50d902SRodney W. GrimesFinally, to set tabs four spaces apart starting
1919b50d902SRodney W. Grimesfrom column 10 and ending in column 132, use
192d078aa13SPhilippe Charnier.Dl expand -`jot -s, - 10 132 4`
193d078aa13SPhilippe Charnier.Pp
1949b50d902SRodney W. Grimesand to print all lines 80 characters or longer,
195d078aa13SPhilippe Charnier.Dl grep `jot -s \&"\&" -b \&. 80`
196a866e170SRuslan Ermilov.Sh DIAGNOSTICS
1975249bd84SSheldon HearnThe following diagnostic messages deserve special explanation:
1985249bd84SSheldon Hearn.Bl -diag
1995249bd84SSheldon Hearn.It "illegal or unsupported format '%s'"
2005249bd84SSheldon HearnThe requested conversion format specifier for
2018db8a33bSSheldon Hearn.Xr printf 3
2025249bd84SSheldon Hearnwas not of the form
2038db8a33bSSheldon Hearn.Dl %[#][ ][{+,-}][0-9]*[.[0-9]*]?
2048db8a33bSSheldon Hearnwhere
2059b88faecSRuslan Ermilov.Dq ?\&
2068db8a33bSSheldon Hearnmust be one of
2078db8a33bSSheldon Hearn.Dl [l]{d,i,o,u,x}
2088db8a33bSSheldon Hearnor
2098db8a33bSSheldon Hearn.Dl {c,e,f,g,D,E,G,O,U,X}
2105249bd84SSheldon Hearn.It "range error in conversion"
2115249bd84SSheldon HearnA value to be printed fell outside the range of the data type
2125249bd84SSheldon Hearnassociated with the requested output format.
2135249bd84SSheldon Hearn.It "too many conversions"
2145249bd84SSheldon HearnMore than one conversion format specifier has been supplied,
2155249bd84SSheldon Hearnbut only one is allowed.
2165249bd84SSheldon Hearn.El
2175249bd84SSheldon Hearn.Sh SEE ALSO
2185249bd84SSheldon Hearn.Xr ed 1 ,
2195249bd84SSheldon Hearn.Xr expand 1 ,
2205249bd84SSheldon Hearn.Xr rs 1 ,
2215249bd84SSheldon Hearn.Xr yes 1 ,
2221ab8c5beSDiomidis Spinellis.Xr arc4random 3 ,
2235249bd84SSheldon Hearn.Xr printf 3 ,
2245249bd84SSheldon Hearn.Xr random 3
22504f064d6SColin Percival.Sh HISTORY
22604f064d6SColin PercivalThe
22704f064d6SColin Percival.Nm
22804f064d6SColin Percivalutility first appeared in
22904f064d6SColin Percival.Bx 4.2 .
230