仓库源文站点原文


layout: post title: GNU Parallel categories:


2014-06-10 12:54:07

简单的并行, 可使用GNU parallel. GNU parallel是一个perl脚本, 只要设置好路径, 即可使用.

安装

  1. GNU官网下载最新版本
  2. 解压, 得文件夹parallel-20140522
  3. 参考README编译安装

    非root用户, 参照Personal installation

    直接使用, 参照Minimal installation, 将脚本复制到目标路径即可.

使用

官方文档, parallel --help, man parallel, NEWS文件中有一些网络资源, 包括中文的.

我一般用其替代for循环的繁琐写法. 如for i in {1..10}; do echo $i; done可利用parallel echo ::: {1..10}代替.

使用自定义命令

通过alias自定义的命令在parallel中无法直接使用, 解决方法是在脚本中export -fexport后利用$cmd调用.

例如, 在.bashrc中定义alias cmd='ls -l', 直接使用parallel cmd会出错. 若export cmd='ls -l', 则可使用parallel $cmd. 这样就不需要在脚本中使用export -f了.

参考

GNU Parallel指南

巧用GNU Parallel实现作业并行化执行

如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等