大量选定数据的复制

大量选定数据的复制

我想使用自动程序提取分布在各个库中的一些文件。

我的文件已被删除:

"dns_lata_X.sauv.lata.0.PRESSURE"
"dns_lata_X.sauv.lata.0.RHO"
"dns_lata_X.sauv.lata.0.VELOCITY"

其中 X 是 0 到 1500 之间的数字。

它们分布在名为 的剧目中repY,其中 Y 是 39 到 69 之间的数字。

每个库包含每种类型(PRESSURE、RHO 和 VELOCITY)大约 50 个文件,并且位于表示的路径中path/instantaneous_fields/

rep39包含:

dns_lata_X.sauv.lata.0.PRESSURE
dns_lata_X.sauv.lata.0.RHO
dns_lata_X.sauv.lata.0.VELOCITY

对于 X 从 1 到 Z0,其中 Z0 约为 50(可以在 46 到 54 之间)。

rep40包含:

dns_lata_X.sauv.lata.0.PRESSURE
dns_lata_X.sauv.lata.0.RHO
dns_lata_X.sauv.lata.0.VELOCITY

对于 X 从 Z0+1 到 Z1,其中 Z1 约为 100(可以在 96 到 104 之间)。

rep41包含:

dns_lata_X.sauv.lata.0.PRESSURE
dns_lata_X.sauv.lata.0.RHO
dns_lata_X.sauv.lata.0.VELOCITY

对于 X 从 Z1+1 到 Z2。ETC

我只想将以十进制数字(X = 10,X = 20,X = 30,...,X = 1500)为特征的文件复制到名为“selected_files”的新目录中,位于同一路径:path/instantaneous_fields/

我不知道如何只选择十年数字。你可以帮帮我吗?

此外,由于每个文件重2.5 GB,复制的体积很大(2.5GB * 3种文件* 150个文件= 1.125 TB),我正在寻找一种比现有命令更适合的命令cp

我有算法,但不了解 bash 语法:

for Y from 39 to 69
cd repY
max_X = X maximum
for X from 0 to max_X by step of 10
cp dns_lata_X.sauv.lata.0.PRESSURE dns_lata_X.sauv.lata.0.RHO dns_lata_X.sauv.lata.0.VELOCITY ../selected_files

相关内容