如何使用Parallel行运行命令(parallel 命令)

linux 如何使用Parallel行运行命令 在Bash中没有内置并行或者并发运行命令的方法。GNU Parallel是用于构建并行运行命令的工具 By myfreax 19 Jul 2022

在Bash里面没有嵌入并行或者分布式系统运行命令的方法。GNU Parallel主要是用来构建并行运行命令的一种手段。

您可以使用不同种类的参数运行同一命令,无论它们是文件名,用户名,主机名还是对文件读取的行。

GNU Parallel增添了对大部分比较常见的操作过程包括输入行,输入行各个部分,特殊输入源的不一样方式等。

Parallel可以从输入源拆换命令都将命令发放到好多个不同种类的Bash实例。

很多时候运行的命令也许不需要等待上一个命令运行完成之后再运行下一个,因此你也许会想到让命令并行或者分布式系统运行,减少你任务执行时间,或者加快项目构建速度。

拼装parallel

拼装GNU Parallel关键主要有两种方式,第一种时从源码构建汇编程序并安装。此方法可用Linux每一个发行版。

第二种运用发行版的app可视化工具进行安装,如果你使用的是依据debian发行版,比如Ubuntu,Linux mint可以运行命令sudo apt install parallel拼装GNU Parallel。

如果你所使用的CentOS,Fedora,Open Suse等依据Redhat的Linux发行版,则必须先打开EPEL仓库,接着运行命令sudo yum -y install Parallel拼装Parallel。

入门教程

每次使用parallel推行命令时,你也许会留意到总是会有一样说明在上方产生。为了能够获得更好的可读性,大伙儿介绍你把握科学研究引进说明后关掉它。

必要时请及时运行parallel --citation命令。接着又输入will cite,随后enter回车。就能关闭科学研究引进说明。

运用parallel非常简单,只需要在parallel后面连接好多个命令,并且使用空格符分离出来,例如命令parallel -vk ::: ls 'echo foo' pwd里可能并行推行ls,echo foo,pwd命令。

还有一种广泛使用方法则是在parallel后面随后务必不一样参数不断运行相同的命令。parallel echo ::: A B C命令相当于此外并行运行三次echo命令。

parallel可以从标准输入中加载命令的参数,接着传递给特殊命令运行。

echo 1,2 | parallel -d, echo {}这也是一个简单案例。在这样一个案例parallel通过管道从标准输入加载命令的参数,然后将参数传递给后面的echo命令。

{}中括号便会被从标准输入中的参数填充,-d选项说明运用分号作为参数分节符。

除了加载标准输入作为参数外。Parallel还能够并行运行文档里的命令。在文件创建一系列shell命令,每一个命令都做一些独立的每日每日任务。

这时候,如果你运用parallel运行它,将更容易开展你每日每日任务。比如你有一个文本文档, 包含一系列shell命令。你可以运用命令parallel -j 10 < file运行它。

-j选项说明此外运行每日任务数,建议使用CPU的核心数。nproc命令都能找到CPU的核心数量。

如果你word里命令并不是每一个都是独立的每日每日任务,命令间有先后运行的依赖感,此刻就不适合运用Parallel运行它。

倘若你也得运用Parallel运行,能用Parallel的-k选项。Parallel将按顺序的运行它。

parallel xargs

parallel也可以实现相近xargs命令水平。例如,运用parallel拆换xargs变小文件目录及其网站根目录要以.html作为文件后缀名文档。

假如你务必储存特殊字符,例如文件名中的回车符。挑选find的-print0选项。如果你务必进一步了解find命令相关的说明,客户程序我们自己运用find命令搜索文件入门教程。

find . -type f -name '*.html' -print | parallel gzip

当文件数量非常大而不能通过开启一次mv命令移动或者重命名文件时,能用Parallel从文件目录移动文件。

find . -depth 1 ! -name '.*' -print0 | parallel -0 -X mv {} destdir

如果您所见所闻,{}被拆换为从标准输入加载的每一行,destdirs就是你目标目录。

Parallel提供了一种内置的体系来删除文件名的文件后缀名,这使其可以进行批量编辑文件类型转换或重命名。

这将使用bzip2再度变小文件目录中所有以.gz结尾的文本文档,每一个CPU重要运行一个工作。parallel可以从命令行得到参数。

ls *.gz | parallel -j 0 "zcat {} | bzip2 >{.}.bz2 && rm {}"

结论

到这里,您知道如何使用Parallel命令操作方法和安装Parallel。比如运用批量改文件名文件等。如果你想掌握更多的Parallel命令的前提条件,请见GNU Parallel文本文件。如果你有任何疑问请随时。

LINUX

如何清除DNS缓存(如何清除dns缓存文件)

2023-1-19 10:59:09

LINUX

Bash shell字符串比较(excel 字符串比较)

2023-1-19 11:04:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索