shell - 以数字序列/顺序复制或 rsync
问题描述
我有大量的图像文件,不幸的是在一个未填充的数字序列中,我需要以以下格式复制:
IMG_1.jpg
IMG_2.jpg
...
IMG_500000.jpg
问题是所有文件操作似乎都按顺序操作:
IMG_1.jpg
IMG_10.jpg
IMG_100.jpg
IMG_1000.jpg
IMG_10000.jpg
...
IMG_2.jpg
IMG_20.jpg
IMG_200.jpg
IMG_2000.jpg
IMG_20000.jpg
...
有没有办法复制或同步特定范围的图像?例如:IMG_1.jpg - IMG_5000.jpg
没有其他一切?
我唯一能想到的就是手动将此列表构建到一个 txt 文件中并将其传入,但想知道是否有更优雅的解决方案。
解决方案
假设每次调用的文件数量有限制,请考虑使用 seq/xargs 将副本拆分为块(例如,每次调用 50 个文件)
seq -f 'IMG_%.0f.jpg' 5000 | xargs -L50 cp -t /target
如果命令行长度不是问题
cp IMG_{1..5000}.jpg /target
推荐阅读
- node.js - 如何在 Sequelize 中插入相关实体
- makefile - 如何在 Redhawk sdr 源代码中包含新的 idl 文件并编译它们
- url - URL 路径和查询组合的命名约定
- python - 计算python对每日股价数据的相对表现
- .net - Microsoft.AnalysisServices.Tabular.JsonScripter 指的是不存在的 Json 程序集版本
- python - 4.6 之前的 pytest 能够从与已安装的命名空间包同名的本地包中导入,但现在不能。那是一个错误吗?
- javascript - 使用任何应用程序访问漫游文件夹时,访问被拒绝错误
- reactjs - 不小心删除了package.json,请问有没有办法重新生成呢?
- powershell - 使用 Get-ADUser 过滤变量
- javascript - 在 Vuejs 中将项目传递到生产环境时出错