7 |
|
[ |
8 |
|
.B \-tS |
9 |
|
][ |
10 |
+ |
.B \-u |
11 |
+ |
][ |
12 |
|
.B \-iaN |
13 |
|
| |
14 |
|
.B \-ifN |
15 |
|
| |
16 |
|
.B \-idN |
17 |
|
| |
18 |
+ |
.B \-iiN |
19 |
+ |
| |
20 |
|
.B \-iwN |
21 |
+ |
| |
22 |
+ |
.B \-ibN |
23 |
+ |
][ |
24 |
+ |
.B "\-in M" |
25 |
|
] |
26 |
< |
input1 input2 .. |
26 |
> |
input1 [options] input2 .. |
27 |
|
.SH DESCRIPTION |
28 |
|
.I Rlam |
29 |
|
simply joins records (or lines) from multiple inputs, separating them with |
36 |
|
If none of the input files uses an ASCII separator, then no end-of-line |
37 |
|
character will be printed, either. |
38 |
|
.PP |
39 |
< |
An input is either a stream or a command. |
39 |
> |
An input is either a file or a command. |
40 |
|
Commands are given in quotes, and begin with an exclamantion point ('!'). |
41 |
< |
If the inputs do not have the same number of lines, then |
41 |
> |
If the inputs do not have the same number of records, then |
42 |
|
shorter files will stop contributing to the output as they |
43 |
|
run out. |
44 |
|
.PP |
50 |
|
Similarly, the |
51 |
|
.I \-id |
52 |
|
and |
53 |
< |
.I \-iw |
53 |
> |
.I \-ii |
54 |
|
options may be used to indicate binary 64-bit doubles or integer words, |
55 |
|
respectively. |
56 |
< |
If an number is immediately follows any of these options, then it |
56 |
> |
The |
57 |
> |
.I \-iw |
58 |
> |
option specifies 2-byte short words, and the |
59 |
> |
.I \-ib |
60 |
> |
option specifies bytes. |
61 |
> |
If a number immediately follows any of these options, then it |
62 |
|
indicates that multiple such values are expected for each record. |
63 |
|
For example, |
64 |
|
.I \-if3 |
65 |
|
indicates three floats per input record for the next named input. |
66 |
|
In the case of the |
67 |
|
.I \-ia |
68 |
< |
option, no number indicates one line per input record, and numbers |
69 |
< |
greater than zero indicate that many characters exactly per record. |
68 |
> |
option, no number reads one line per record, and numbers |
69 |
> |
greater than zero take multiple lines at a time from the same stream. |
70 |
|
For binary input formts, no number implies one value per record. |
71 |
|
For anything other than EOL-separated input, the default tab separator |
72 |
|
is reset to the empty string. |
73 |
|
.PP |
74 |
+ |
These options may be interspersed with input specifications, |
75 |
+ |
indicating different data to draw from the different files. |
76 |
+ |
.PP |
77 |
+ |
If a |
78 |
+ |
.I \-in |
79 |
+ |
option is given with a positive integer argument, this will be the |
80 |
+ |
maximum number of records that will be read or produced by |
81 |
+ |
.I rlam. |
82 |
+ |
.PP |
83 |
|
A hyphen ('-') by itself can be used to indicate the standard |
84 |
|
input, and may appear multiple times. |
85 |
+ |
The |
86 |
+ |
.I \-u |
87 |
+ |
option forces output after each record (i.e., one run through inputs). |
88 |
|
.SH EXAMPLE |
89 |
|
To join files output1 and output2, separated by a comma: |
90 |
|
.IP "" .2i |
91 |
< |
rlam -t, output1 output2 |
91 |
> |
rlam \-t, output1 output2 |
92 |
|
.PP |
93 |
|
To join a file with line numbers (starting at 0) and its reverse: |
94 |
|
.IP "" .2i |
95 |
< |
cnt `wc -l < lam.c` | rlam - -t: lam.c -t\| '!tail -r lam.c' |
95 |
> |
cnt `wc \-l < lam.c` | rlam \- \-t: lam.c \-t\| '!tail \-r lam.c' |
96 |
|
.PP |
97 |
|
To join four data files, each having three doubles per record: |
98 |
|
.IP "" .2i |
99 |
< |
rlam -id3 file1.dbl file2.dbl file3.dbl file4.dbl > combined.dbl |
99 |
> |
rlam \-id3 file1.dbl file2.dbl file3.dbl file4.dbl > combined.dbl |
100 |
> |
.PP |
101 |
> |
To join two data files, the first having two words per |
102 |
> |
record and the second having one: |
103 |
> |
.IP "" .2i |
104 |
> |
rlam \-iw2 file1.hi2 \-iw file2.hi1 > combined.hi3 |
105 |
|
.SH AUTHOR |
106 |
|
Greg Ward |
107 |
|
.SH "SEE ALSO" |
108 |
< |
cnt(1), histo(1), neaten(1), rcalc(1), tabfunc(1), total(1) |
108 |
> |
cnt(1), histo(1), neaten(1), rcalc(1), rsplit(1), tabfunc(1), total(1) |