parallel是一个Linux命令行并行工具(mac也可以用)
1.安装
1. Debian 或 Ubuntu Linux 安装
sudo apt install parallel
2. RHEL/CentOS Linux 安装
sudo yum install parallel
3. Fedora Linux 安装
sudo dnf install parallel
***当然你也可以使用conda安装(首先你需要安装anaconda)
4. 使用conda安装(推荐),这种方法在macos上面也可以使用
conda install -c conda-forge parallel
或
conda install -c conda-forge/label/cf201901 parallel
2. 用法
这里只说一种简单的用法,基本上能满足日常工作需求,
假设当前目录有三个 *.txt 文件,我们使用gzip对着三个文件进行压缩
当前目录:
A.txt
B.txt
C.txt
1.顺序执行语句:
ls|grep txt|awk '{print "gzip "$1}'
[out]:
gzip A.txt
gzip B.txt
gzip C.txt
执行该语句:
ls|grep txt|awk '{print "gzip "$1}'|bash
注意: 加了|bash之后表示依次执行gzip A.txt, gzip B.txt, gzip C.txt
2.parallel并行版本
parallel版本
ls|grep txt|awk '{print "gzip "$1}'|parallel -j 3 {}
注意: 其中{}代指 gzip A.txt, gzip B.txt, gzip C.txt这三条语句,
{}里面什么都不用填, 回车上面这条语句 系统会并行执行这三条语句,
-j表示并行数目
3.读取命令版本
首先把命令写入磁盘
ls|grep txt|awk '{print "gzip "$1}' > gzip.sh
使用parallel读取命令并执行
parallel -j 3 < gzip.sh