gnu-parallel

将命令放入 bash 会导致“没有这样的文件或目录”
gnu-parallel

将命令放入 bash 会导致“没有这样的文件或目录”

我正在针对我的 Cloud Foundry 实例运行一个命令来返回我的应用程序的运行状况。为了方便起见,我尝试为每个应用程序构建运行状况检查命令,如下所示: cf apps | tail -n +5 | awk 'NF{print "\"curl -s http://" $6 "/cloudfoundryapplication/health | jq \\\".status\\\" && echo \\\"" $6 "\\\" \""}' 为每个应用程序生成类似这样的输出行 “curl -s”http://webapp.apps...

Admin

在 GNU parallel 中执行类似 bash 的字符串操作
gnu-parallel

在 GNU parallel 中执行类似 bash 的字符串操作

我喜欢 GNU parallel,但我发现执行字符串替换相当复杂。 我习惯于在 Bash 中进行简单的操作: $ f="encodes/TearsOfSteel-720-crf41.mp4" $ echo "$(basename "${f%%-*}")" TearsOfSteel 基本上,我想找到每个输入文件的基本名称(第一个减号连字符之前的所有内容)。然后parallel,我想使用原始文件名和基本名称执行命令: parallel './do_something {} <basename>' ::: encodes/*.mp4 …&...

Admin

GNU parallel 不能均匀划分工作
gnu-parallel

GNU parallel 不能均匀划分工作

我的理解是 -X 选项应该在作业之间均匀分配参数。然而,我得到的分布非常不均匀: user@host:/tmp/ptest$ count() { > echo $# > } user@host:/tmp/ptest$ export -f count user@host:/tmp/ptest$ count *.jpg 5825 user@host:/tmp/ptest$ parallel -X count ::: *.jpg 5039 197 197 197 195 有趣的是,仅使用文件的子集会导致参数均匀分布: user@host:...

Admin

GNU“parallel --pipe”不按行处理标准输入
gnu-parallel

GNU“parallel --pipe”不按行处理标准输入

我非常困惑如何使用 GNU parallel 将 stdin 传递给作业命令。 我想象中的真的常见用例。我有一些进程xxd使用 stdin 执行某些操作并输出到 stdout。我有某种方法来生成或从另一个标准流获取工作,例如seq 3,我可以将两者结合起来并制作一个即兴的电动工具,如下所示: $ seq 3 | while read line; do echo $line | xxd; done 00000000: 310a 1. 00000000: 320a ...

Admin

Gnu 并行和多节点使用 rsh 代替 ssh
gnu-parallel

Gnu 并行和多节点使用 rsh 代替 ssh

我可以使用 rsh 而不是 ssh 在 hpc 设置中的节点之间拆分作业吗? 或者 gnu-parallel 只能通过 ssh 发送不同的作业? ...

Admin

对多个 gzip 文件实现更好的压缩
gnu-parallel

对多个 gzip 文件实现更好的压缩

我有几个目录包含数千个 gzip 文件(总共约 1M 个文件)。其中一些文件已损坏,大多数文件大小非常小(只有几 KB)。 它们的内容几乎都非常相似,因此将它们全部压缩在一起应该可以提高相对于当前情况的压缩率。 由于我很少浏览这些目录,只是出于存档原因需要保留它们,因此我需要一种高可用性和高压缩率的格式并创建一个存档。最好具有随机访问功能,以便偶尔访问特定文件而无需解压整个存档。 这里最好的策略是什么? tar 能抵御损坏吗? 我更喜欢可以作为一行或简单的 bash 脚本实现的东西。 ...

Admin

在 Linux shell 上并行使用 curl 输入文件并输出文件名
gnu-parallel

在 Linux shell 上并行使用 curl 输入文件并输出文件名

我通常使用 curl 和 url 并行下载文件,文件格式如下: cat links.txt | parallel --will-cite curl --connect-timeout 5 --max-time 10 --retry-max-time 40 --retry 5 --retry-delay 0 -s -f -O -C - 其中 links.txt 每行有一个 url。 现在我需要为每个文件分配一个自定义文件名,但我不知道如何将第二个输入添加到curl槽中parallel。除其他事项外,我尝试将其添加-o filename到每一行link...

Admin

并行:多线程进程数量有限
gnu-parallel

并行:多线程进程数量有限

我正在使用 GNU parallel 来并行运行多个作业,如下所示:parallel python3 main.py arg ::: args*。对于单线程作业,我曾经-j 100%确保 1 个作业映射到 1 个核心。 现在,每个作业都有四个线程,我有 32 个核心。我想分配作业,使它们不重叠,即在四个不同的核心上同时运行 8 个作业。我不明白该怎么做。我试过了-j8,我认为这会限制并行作业的数量。但它仍然一次启动所有作业 - 并将它们限制为 8 个核心?-j 25%也没用…… ...

Admin

GNU Parallel - 全局变量和函数
gnu-parallel

GNU Parallel - 全局变量和函数

我有这个脚本: GLOBAL_VAR="some global value" function test { echo $1 echo ${GLOBAL_VAR} } export -f test parallel --jobs 5 --linebuffer test ::: "${files[@]}" 我怎样才能$GLOBAL_VAR从平行处看到? ...

Admin

并行化远程 tar 并通过 ssh 管道获取输出
gnu-parallel

并行化远程 tar 并通过 ssh 管道获取输出

我曾尝试并行化我正在使用的脚本,但到目前为止,GNU Parallel 非常具有挑战性。 我有 2 个文件 - 一个包含运行命令的主机,另一个包含命令的参数。以下是示例数据: $ cat workers.host [email protected] [email protected] [email protected] [email protected] $ cat paths /usr/local/jar/x/y/ jarxy /usr/local/jar/z/y/ jarzy /usr/local/ja...

Admin

在 bash 中多次读取 txt 文件(并行处理)
gnu-parallel

在 bash 中多次读取 txt 文件(并行处理)

这是一个用于 HTTP 状态代码的简单 bash 脚本 while read url do urlstatus=$(curl -o /dev/null --silent --head --write-out '%{http_code}' "${url}" --max-time 5 ) echo "$url $urlstatus" >> urlstatus.txt done < $1 我正在从文本文件读取 URL,但它一次只能处理一个,花费了太多时间,GNU parallel 和 xa...

Admin

GNU parallel 在运行时似乎不会重新读取 sshloginfile
gnu-parallel

GNU parallel 在运行时似乎不会重新读取 sshloginfile

正在尝试并行动态添加/删除处理节点,并且我能够使用--sshloginfile指定在哪些主机上运行。 不幸的是,在并行运行时更改 sshloginfile 中的条目似乎不会改变所使用的主机(即, sshloginfile 似乎不会在执行期间被重新读取)。 我在 Ubuntu 14.04 上运行的是 20130922 版本,这可能是原因吗? 提前致谢。 ...

Admin

gnu parallel 删除命令中空格字符前的转义符
gnu-parallel

gnu parallel 删除命令中空格字符前的转义符

我目前正在测试 gnu parallel,以使用 bash 在多个服务器上分发比较命令。在其最基本的功能中,此比较命令需要两个输入进行比较(oracle 数据库访问),并通过 -o 要求输出文件名。程序至少需要执行一个操作加载、保存或直接上传。 compare -o cmp.input1.input2.dat Input1 Input2 我有几千个这样的输入对,并创建一个包含所有组合的文件,以便每行包含输出文件名和程序所需的数据库标识符 #test_parallel -o cmp.input1.input2.dat Input1 Input2 -o ...

Admin

我应该下载这个 Linux 操作系统的哪个版本?
gnu-parallel

我应该下载这个 Linux 操作系统的哪个版本?

我想安装GNU并行在计算机集群上。我看到有多个版本的 GNU-parallel 可供下载(请参阅上面的“下载 GNU Parallel”链接)。我想我主要感兴趣的版本是: Arch Linux Alpine Linux 另类Linux Mageia Linux CERN 中央处理器 我ssh进入集群并做了 $ uname -s Linux $ uname -m x86_64 $ uname -r 2.6.32-358.18.1.el6.x86_64 $ lsb_release -si CentOS ...

Admin

使用 GNU Parallel scp 大文件,按主机分块
gnu-parallel

使用 GNU Parallel scp 大文件,按主机分块

我正在使用 Ansible 在多个节点上设置一些配置,作为此设置的一部分,我需要将一个大文件拆分为n行并将每个部分复制到远程文件,而不创建每个块的本地副本(如 bash分裂命令可以做到)。默认情况下,Ansible 无法做到这一点(或者我只是还没有找到如何做到这一点),所以我决定使用 GNU Parallel。我发现这里从 stdin 复制可以很容易地像这样完成: ~$ echo "Lots of data" | ssh [email protected] 'cat > big.txt' 但我想同时对多个主机执行此操作!因此,这里有一个...

Admin