Você não usa um loop while.
parallel "sortstuff.sh -a {} > sortedstuff-{}" <live_hosts
Observe que isso não funcionará se você tiver caminhos no seu live_hosts
(por exemplo, /some/dir/file
), pois ele se expandirá para sortstuff.sh -a /some/dir/file > sortedstuff-/some/dir/file
(resultando em no such file or directory
); para esses casos, use {//}
e {/}
(consulte gnu-parallel
manual para obter detalhes):
parallel "sortstuff.sh -a {} > {//}/sortedstuff-{/}" <live_hosts