我有一个非常简单的问题,我的目录中有 10,000 个文件,名称分别为 simulations_0.root
到 simulations_9999.root
。
我想将 500 个文件合并在一起,使它们的大小更大。我需要运行 hadd
,选择 simulations_0.root
到 simulations_499.root
; simulations_500.root
到 simulations_999.root
等等。
hadd
将采用多个输入文件作为命令行参数:
Synopsis
hadd outputfile inputfiles ...
我的问题是如何在 hadd
命令中一次选择 0 到 500 个文件?
最佳答案
进一步采用 @mashuptwice 方法:
#!/bin/bash
min=0 max=9999 incr=500
for (( i = min, j = min + incr - 1; j <= max; i += incr, j+= incr))
do
declare -a "files=( simulations_{$i..$j}.root )"
hadd "simulations_${i}to$j.root" "${files[@]}"
done
关于bash - 从目录/bash 脚本中的大量文件中仅选择几个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71915691/