bash - 从目录/bash 脚本中的大量文件中仅选择几个文件

标签 bash

我有一个非常简单的问题,我的目录中有 10,000 个文件,名称分别为 simulations_0.rootsimulations_9999.root

我想将 500 个文件合并在一起,使它们的大小更大。我需要运行 hadd,选择 simulations_0.rootsimulations_499.rootsimulations_500.rootsimulations_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/

相关文章:

linux - sed,替换第一行的第一次匹配

linux - 使用 find 命令获取 n 级父级

linux - shell:同时重启一堆服务器

linux - 交织序列化数据

bash - 从文件中打印 n 到 n 列

bash - 如果 grep 失败则删除该文件

r - 调用系统命令并将变量作为参数传递给管道

linux - 有没有办法在 Linux 中存储查询公式?

bash - & 与 docker exec 一起使用时返回不正确的 pid

java - 根据Java版本运行不同的Bash命令