总体情况
我正在尝试运行一个脚本,该脚本使用两个输入文件,并针对不同的输入数据运行多次。不修改脚本指定的文件,而是修改相同输入文件的内容,以使脚本保持不变。
特殊情况
我正在运行一个Asymptote脚本(myScript.asy
),该脚本从一对文件data.dat
和steps.dat
中获取数据并生成图表。
我需要为位于dataFolder
内的几个子文件夹中的多个文件对生成图表。
这些文件对之间可以通过相同的文件名开始且仅在最后一个部分上有所不同进行识别,例如:40x214_cores.dat
和40x214_times.dat
。它们始终位于同一子文件夹中。
目录结构如下:
myScript.asy
data.dat
steps.dat
folderForCharts
dataFolder
├ firstSubfolder
│ ├ AxB_cores.dat
│ ├ AxB_times.dat
│ ├ CxD_cores.dat
│ ├ CxD_times.dat
│ └ ...
├ secondSubfolder
│ ├ ExF_cores.dat
│ ├ ExF_times.dat
│ └ ...
├ thirdSubfolder
│ └ ...
其中A,B,C...是长度不同的数字(最多7位)。
问题
挑战在于创建一个bash循环:
- 获取一对
AxB_cores.dat
和AxB_times.dat
的内容,并将它们分别cat
到data.dat
和steps.dat
中。 - 运行asymptote脚本:
asy myScript -o <output filename>
,将输出文件存储在名为"originSubfolderName_AxB"的folderForCharts
文件夹中,例如:secondSubfolder_54x6789
然后继续处理下一组文件,涵盖所有文件。
正则表达式用于捕获文件对和子文件夹名称让我感到头晕,所以我有了想法,但不知道如何实现。
谢谢你们抽出时间帮忙。