我有两台机器,我想使用gnu parallel让多个进程“cat”来自两台机器的一些文本文件的内容。
我有以下设置。
在本地计算机的同一目录中,我有以下文件:
-
cmd.sh-一个包含以下内容的bash文件:'cat“$@”
-
test1.txt-一个文本文件,内容为:“test 1”
-
test2.txt-包含“test 2”内容的文本文件
-
test3.txt-包含内容的文本文件:“test 3”
-
nodefile-包含以下内容的文本文件:
2:
4/daN@192.168.0.3
如果我使用的是wordpress链接中的nodefile示例(如下),我的IP是192.168.0.2。
这些文件都不会在远程计算机上复制。我想让多个进程“cat”每个测试的内容?两台计算机的.txt文件。
最好是这样:
-
不会在远程机器上留下任何工件
-
将保留本地目录的内容不变。
我已经能够用nodefile远程执行多处理命令
this wordpress example
但不涉及远程回送文件。
到目前为止,我有如下内容:
parallel --sshloginfile nodefile --workdir . --basefile cmd.sh -a cmd.sh --trc ::: test1.txt test2.txt test3.txt
但这不起作用,正在从我的目录中删除文件,而不是替换它们,同时也会导致rsync错误。我(很遗憾)目前无法提供错误,也无法复制设置。
我对并行语言非常缺乏经验,有人能指导我完成这项任务吗?到目前为止,我还没能在网页或网络上找到答案。
运行Ubuntu 16.04 LTS并使用最新版本的GNU Parallel。