parallel-processing - GNU 并行根本不工作

标签 parallel-processing gnu xargs gnu-parallel

我尝试使用 GNU 并行有一段时间了,但我从来没能让它发挥作用!

例如,运行(在非空目录中!):

ls | parallel echo            # Outputs single new line
ls | parallel echo echo echo  # Outputs three new lines.
ls | parallel echo {}         # /bin/bash: {}: command not found
ls | parallel echo '{}'       # /bin/bash: {}: command not found
ls | parallel 'echo {}'       # Outputs: {}
ls | parallel -IMM 'echo MM'  # Outputs: MM

看起来它只是将每个参数作为命令执行,这没有任何意义。

我尝试过 bash、zsh、tcsh、csh 和 sh,但没有成功。

最佳答案

当我即将写完这个问题时,我运行了 parallel --version 来报告版本,却发现:

WARNING: YOU ARE USING --tollef. IF THINGS ARE ACTING WEIRD USE --gnu.

我不清楚为什么默认设置该标志。不用说,使用 --gnu 有效!

我想发布此内容是为了避免某人遭受沮丧和困惑。

编辑: 要永久修复此问题(至少在 Ubuntu 中),请删除 /etc/parallel/config

中的 --tollef 标志

关于parallel-processing - GNU 并行根本不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448887/

相关文章:

java - Java ExecutorService 上的 Fibonacci 顺序运行比并行运行更快

vb.net - 并行循环和 Nlog

c++ - 什么是 -D 编译器标志 C++(clang、GNU、MSVC)

c - weak_alias 函数的作用是什么,它在哪里定义

c - 将作业放入前台 shell 实现的 c

linux - 在 Ubuntu 上并行化进程

bash - 如何使用 bash 在一组参数上并行执行多个命令,如果其中至少一个失败则失败

javascript - 异步并行请求按顺序运行

linux - 如何将额外值连接到一个命令的输出并将其传递给另一个 Unix 命令

bash - GNU 并行 : how to prevent specific jobs from being processed in parallel