Passes testsuite.

This commit is contained in:
Ole Tange 2011-01-27 22:56:59 +01:00
parent f63347b070
commit cb468fb6d3
3 changed files with 36 additions and 27 deletions

View file

@ -160,11 +160,11 @@ New in this release:
approximate. It can deviate as much as the size of one record. approximate. It can deviate as much as the size of one record.
Default is 1M. Default is 1M.
* --recstart sets the regular expression matching the start of a * --recstart sets the string matching the start of a
record. Default is "". record. Default is "".
* --recend sets the regular expression matching the end of a * --recend sets the string matching the end of a
record. Default is "\n". To specify none use --recend "". record. Default is '\n'. To specify none use --recend "".
If both --recstart and --recend are set, the end of a record must be If both --recstart and --recend are set, the end of a record must be
followed immediately by a start of a record. This is useful if followed immediately by a start of a record. This is useful if
@ -175,8 +175,10 @@ New in this release:
these files. these files.
* -N set the number of records to read. If used with --blocksize * -N set the number of records to read. If used with --blocksize
the block read will at most be --blocksize. -N is much slower the block read will at most be --blocksize.
than --blocksize so avoid -N if performance is important.
* GNU Parallel is now on ohloh.net. Thanks to Wim Muskee.
https://www.ohloh.net/p/gnu-parallel
* Advanced recursive example. Thanks to Ruarí Ødegaard. * Advanced recursive example. Thanks to Ruarí Ødegaard.
http://my.opera.com/ruario/blog/2011/01/24/editing-debian-packages-more-fun-with-gnu http://my.opera.com/ruario/blog/2011/01/24/editing-debian-packages-more-fun-with-gnu
@ -186,17 +188,18 @@ New in this release:
= About GNU Parallel = = About GNU Parallel =
GNU Parallel is a shell tool for executing jobs in parallel using one GNU Parallel is a shell tool for executing jobs in parallel using one
or more computers. A job is typically a single command or a small or more computers. A job is can be a single command or a small script
script that has to be run for each of the lines in the input. The that has to be run for each of the lines in the input. The typical
typical input is a list of files, a list of hosts, a list of users, a input is a list of files, a list of hosts, a list of users, a list of
list of URLs, or a list of tables. URLs, or a list of tables. A job can also be a command that reads from
a pipe. GNU Parallel can then split the input and pipe it into
commands in parallel.
If you use xargs today you will find GNU Parallel very easy to use as If you use xargs and tee today you will find GNU Parallel very easy to
GNU Parallel is written to have the same options as xargs. If you use as GNU Parallel is written to have the same options as xargs. If
write loops in shell, you will find GNU Parallel may be able to you write loops in shell, you will find GNU Parallel may be able to
replace most of the loops and make them run faster by running several replace most of the loops and make them run faster by running several
jobs in parallel. If you use ppss or pexec you will find GNU Parallel jobs in parallel.
will often make the command easier to read.
GNU Parallel makes sure output from the commands is the same output as GNU Parallel makes sure output from the commands is the same output as
you would get had you run the commands sequentially. This makes it you would get had you run the commands sequentially. This makes it

View file

@ -572,10 +572,10 @@ of each job is saved in a file and the filename is then printed.
Spread input to jobs on stdin. Read a block of data from stdin Spread input to jobs on stdin. Read a block of data from stdin
(standard input) and give one block of data as input to one job. (standard input) and give one block of data as input to one job.
The block size is determined by B<--block>. The regular expressions The block size is determined by B<--block>. The strings B<--recstart>
B<--recstart> and B<--recend> tell GNU B<parallel> how a record starts and B<--recend> tell GNU B<parallel> how a record starts and/or
and/or ends. The block read will have the final partial record removed ends. The block read will have the final partial record removed before
before the block is passed on to the job. The partial record will be the block is passed on to the job. The partial record will be
prepended to next block. prepended to next block.
If B<--recstart> is given this will be used to split at record start. If B<--recstart> is given this will be used to split at record start.
@ -588,8 +588,7 @@ match to find a split position.
If neither B<--recstart> nor B<--recend> are given B<--recend> If neither B<--recstart> nor B<--recend> are given B<--recend>
defaults to '\n'. To have no record separator use B<--recend "">. defaults to '\n'. To have no record separator use B<--recend "">.
If B<--output-as-files> is set the output will not be the output of B<--files> is often used with B<--pipe>.
the jobs but a list of files containing the output of the jobs run.
=item B<--progress> =item B<--progress>
@ -705,15 +704,15 @@ default.
If the stdin (standard input) only contains whitespace, do not run the command. If the stdin (standard input) only contains whitespace, do not run the command.
=item B<--recstart> I<startregexp> (beta testing) =item B<--recstart> I<startstring> (beta testing)
=item B<--recend> I<endregexp> (beta testing) =item B<--recend> I<endstring> (beta testing)
If B<--recstart> is given I<startregexp> will be used to split at record start. If B<--recstart> is given I<startstring> will be used to split at record start.
If B<--recend> is given I<endregexp> will be used to split at record end. If B<--recend> is given I<endstring> will be used to split at record end.
If both B<--recstart> and B<--recend> are given the regular expression If both B<--recstart> and B<--recend> are given the string
I<startregexp>I<endregexp> will have to match to find a split I<startregexp>I<endregexp> will have to match to find a split
position. This is useful if either I<startregexp> or I<endregexp> position. This is useful if either I<startregexp> or I<endregexp>
match in the middle of a record. match in the middle of a record.
@ -723,6 +722,15 @@ defaults to '\n'. To have no record separator use B<--recend "">.
B<--recstart> and B<--recend> are used with B<--pipe>. B<--recstart> and B<--recend> are used with B<--pipe>.
Use B<--regexp> to interpret B<--recstart> and B<--recend> as regular
expressions. This is slow, however.
=item B<--regexp> (unimplimented)
Use B<--regexp> to interpret B<--recstart> and B<--recend> as regular
expressions. This is slow, however.
=item B<--remove-rec-sep> (alpha testing) =item B<--remove-rec-sep> (alpha testing)

View file

@ -99,8 +99,6 @@ jjjjjjjjjj
303111434 303111434
303111434 303111434
303111434 303111434
0
0
### Test --rrs -N1 --recend single ### Test --rrs -N1 --recend single
1>12 1>12
2>34 2>34