[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: #518696 ITP: parallel -- build and execute command lines from standard input in parallel]



One of friends alerted me to your discussion of 'parallel' and whether
other tools can replace it. Here are some good examples to try to
reproduce without 'parallel':

$ ls | grep abc | parallel gzip -c >/tmp/file.gz

Try this in a dir with 1000 50 kB sized mixed files with file names
that include these characters: [-'` "+*<>&$!?|]. The output is a valid
.gz file as the output is grouped. In other solutions not using
parallel you will often have a race condition (such as running two
cat's in parallel).

$ ls | parallel diff {} foo ">"{}.diff
$ ls | parallel 'echo -n {}" "; ls {}|wc -l'

These should also be run on files with names containing interesting
characters [-'` "+*<>&$!?|].

$ seq 1 255 | parallel -j 50 'ping -c 1 10.0.0.{} && wget
http://status-server/status.cgi?ip=10.0.0.{}'

The 3 above would normally require making a script and calling it. I
have yet to see how to do that on the command line (including the
parallelization).

$ cat shellscript
ls foo
touch bar
host foo.bar
ping bar.foo
seq 1 10 | ssh foo.bar "cat >/tmp/count"
wget http://foo.bar/info
[...1000000 other one line shell commands...]
$ cat shellscript | time sh
$ cat shellscript | time parallel

This one of the ways I use 'parallel' most with the shellscript often
being generated.

There are more examples in the man-page.

<Disclosure>
I am the author of 'parallel'
</Disclosure>

/Ole


Reply to: