running bash pipe commands in background with & ampersand
You should put the &
inside the ()
, if you want to run all the jobs in parallel in the background.
time for i in `ls /tmp/chunk*`; do
(cat $i | tr ' ' '\n' | sort | uniq > /tmp/line${i:10} &)
done
You can include the & in braces:
time for i in `ls /tmp/chunk*`; do
{(cat $i | tr ' ' '\n' | sort | uniq > /tmp/line${i:10}) &};
done