GNU并行完全没有工作

Wae*_*elJ 52 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
Run Code Online (Sandbox Code Playgroud)

它似乎只是将每个参数作为命令执行,这没有任何意义.

我试过bash,zsh,tcsh,csh和sh,但无济于事.

Wae*_*elJ 87

当我即将完成这个问题的写作时,我跑去parallel --version报告版本,但却发现:

警告:您正在使用--tollef.如果有人在做什么 - 韦.

我不清楚为什么默认设置该标志.不用说,使用--gnu工作!

以为我会发布这个以节省数小时的挫折和困惑.

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

  • --tollef将退休20140222 http://lists.gnu.org/archive/html/parallel/2013-02/msg00018.html如果你现在已经让你的挫折感知道你的发行维护者,那将会有所帮助默认值可以更改. (20认同)
  • 大家都知道,@ OleTange(上面的第一条评论)是Parallel的作者! (2认同)
  • 问题存在,这也解决了 Fedora 20 中的问题。直到现在,无法弄清楚这一点阻止我使用`parallel`! (2认同)

Ian*_*Ian 8

根据您的操作系统,您应该检查您是否实际运行GNU版本.

$ parallel --version
parallel: invalid option -- '-'
parallel [OPTIONS] command -- arguments
    for each argument, run command with argument, in parallel
parallel [OPTIONS] -- commands
    run specified commands in parallel
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,则表示您没有运行GNU版本.Ubuntu 12.04是这样的,你需要手动安装GNU parallel以获得你期望的功能.

  • 我正在使用 Debian 10,这仍然是一个问题。您必须手动安装并行,但在您执行之前,“并行”会链接到一些无用的命令,该命令不执行任何操作 (2认同)