我有一个(让我们称之为原创)脚本逐行解析文件(~1000行),生成执行C ++程序的参数。
#!/bin/bash
i = 0
while IFS='' read -r line || [[ -n "$line" ]]; do
a="$line" | cut -c1-2
b="$line" | cut -c3-4
c="$line" | cut -c5-6
d="$line" | cut -c7-8
e="$line" | cut -c9-10
f="$line" | cut -c11-12
g="$line" | cut -c13-14
h="$line" | cut -c15-16
i="$line" | cut -c17-18
j="$line" | cut -c19-20
k="$line" | cut -c21-22
l="$line" | cut -c23-24
m="$line" | cut -c25-26
n="$line" | cut -c27-28
o="$line" | cut -c29-30
p="$line" | cut -c31-32
./a.out "$a" "$b" "$c" "$d" "$e" "$f" "$g" "$h" "$i" "$j" "$k" "$l" "$m" "$n" "$o" "$p" > $(echo some-folder/output_${i}.txt)
done < test_10.txt
我想批量安排这项工作,以便每次运行都排队并在不同的核心上运行。
我检查了PBS和qsub的写作风格。我可以写一个PBS文件(简单的,现在没有所有选项。让我们称之为callPBS.PBS):
#!/bin/bash
cd $PBS_O_WORKDIR
qsub ./a.out -F "my arguments"
exit 0
我可以在原始脚本中调用此文件而不是./a.out --------。但我如何通过“我的论点”?问题是它们没有修复。
其次我知道qsub将-o作为输出文件的选项。但是我希望更改输出文件名。我可以再次将其作为一个论点,但是如何?
我可以在原始剧本中执行此操作:
callPBS.pbs > $(echo some-folder/output_${i}.txt)
如果我在这里遗漏了什么,我很抱歉。我正在尝试使用我所知道的一切!