我想获取gcs各个目录下最新的文件名
I want to get the latest file names under each directory of gcs
我想用gsutil ls知道每个目录下最新文件的路径
像这样循环执行命令非常慢。
我希望最终输出为
我该怎么做?
我想用gsutil ls知道每个目录下最新文件的路径
shell 脚本
for dir in dir_list[@];do
file+=$(gsutil ls -R ${dir} | tail -n 1);
done
运行循环过程中的命令很慢
我希望最终输出为
还有别的方法吗?
结果图片
gs://bucket/dir_a/latest.txt
gs://bucket/dir_b/latest.txt
gs://bucket/dir_c/latest.txt
gs://bucket/dir_d/latest.txt
没有其他策略是有充分理由的:目录不存在。因此,您需要扫描所有文件,获取元数据,获取最后一个文件,并对每个“相似前缀”执行此操作。
前缀就是您所说的目录“/path/to/prefix/”。这就是为什么您只能在 GCS 中按前缀而不是文件模式执行搜索。
因此,您可以想象构建一个自定义应用程序,为每个不同的前缀(目录)创建一个专用于该前缀的并发进程(fork)。这样你就可以执行并行化。写起来不是那么简单,但你可以!
我想用gsutil ls知道每个目录下最新文件的路径
像这样循环执行命令非常慢。
我希望最终输出为
我该怎么做?
我想用gsutil ls知道每个目录下最新文件的路径
shell 脚本
for dir in dir_list[@];do
file+=$(gsutil ls -R ${dir} | tail -n 1);
done
运行循环过程中的命令很慢
我希望最终输出为
还有别的方法吗?
结果图片
gs://bucket/dir_a/latest.txt
gs://bucket/dir_b/latest.txt
gs://bucket/dir_c/latest.txt
gs://bucket/dir_d/latest.txt
没有其他策略是有充分理由的:目录不存在。因此,您需要扫描所有文件,获取元数据,获取最后一个文件,并对每个“相似前缀”执行此操作。
前缀就是您所说的目录“/path/to/prefix/”。这就是为什么您只能在 GCS 中按前缀而不是文件模式执行搜索。
因此,您可以想象构建一个自定义应用程序,为每个不同的前缀(目录)创建一个专用于该前缀的并发进程(fork)。这样你就可以执行并行化。写起来不是那么简单,但你可以!