cro*_*oss 3 bash perl shell-script parallelism
我有一个 bash 脚本,它以串行方式调用相同的 perl 脚本。bash 脚本用于收集整体结果,而 perl 脚本收集我对给定属性的模拟结果。
bash 脚本如下所示:
mkdir ./results/csv && \
../perlscripts/v2csv.pl -v -F reach results/Heterogeneous*.vec > ./results/csv/reach.csv
../perlscripts/v2csv.pl -v -F roundTrip results/Heterogeneous*.vec > ./results/csv/RT.csv
../perlscripts/v2csv.pl -v -F downlink results/Heterogeneous*.vec > ./results/csv/DL.csv
../perlscripts/v2csv.pl -v -F clusters results/Heterogeneous*.vec > ./results/csv/clusters.csv
Run Code Online (Sandbox Code Playgroud)
通过一次调用一个 perl 脚本来收集结果真的很长;我正在寻找一种方法,可以让我在 bash 脚本中并行调用 perl 脚本的不同变体。有没有办法在 bash 中实现这一目标?
只是为了澄清,我不希望调用 perl 脚本的命令以任何方式相互依赖。我希望所有这些都在同一时间点开始,就好像我有 4 个单独的 bash 终端,每个终端都执行这些命令之一。
类似:https : //stackoverflow.com/questions/15644991/running-several-scripts-in-parallel-bash-script
如果已gnu parallel
安装,则可以仅使用命令创建脚本,例如:
../perlscripts/v2csv.pl -v -F reach results/Heterogeneous*.vec > ./results/csv/reach.csv
../perlscripts/v2csv.pl -v -F roundTrip results/Heterogeneous*.vec > ./results/csv/RT.csv
../perlscripts/v2csv.pl -v -F downlink results/Heterogeneous*.vec > ./results/csv/DL.csv
../perlscripts/v2csv.pl -v -F clusters results/Heterogeneous*.vec > ./results/csv/clusters.csv
Run Code Online (Sandbox Code Playgroud)
然后并行运行它们:
mkdir ./results/csv && parallel :::: myscript.sh
Run Code Online (Sandbox Code Playgroud)
或者,调用命令并使用{}
- 默认替换字符串:
mkdir ./results/csv && parallel ../perlscripts/v2csv.pl -v -F {} \
results/Heterogeneous*.vec '>' ./results/csv/{}.csv ::: reach roundTrip downlink clusters
Run Code Online (Sandbox Code Playgroud)
将并行运行以下命令:
../perlscripts/v2csv.pl -v -F reach results/Heterogeneous*.vec > ./results/csv/reach.csv
../perlscripts/v2csv.pl -v -F roundTrip results/Heterogeneous*.vec > ./results/csv/roundTrip.csv
../perlscripts/v2csv.pl -v -F downlink results/Heterogeneous*.vec > ./results/csv/downlink.csv
../perlscripts/v2csv.pl -v -F clusters results/Heterogeneous*.vec > ./results/csv/clusters.csv
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2906 次 |
最近记录: |