微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 使用RSync复制连续的文件范围

对不起,如果这没有意义,但我会尝试提供所需的所有信息!

我想使用rsync将一系列顺序编号的文件一个文件夹复制到另一个文件夹.

我正在归档DCDM(它是一个电影的东西),它包含600,000个单独编号的顺序.tif图像文件(~10mb ea.).

我需要打破这一点才能正确存档到LTO6磁带上.我想使用rsync来准备文件夹,这样我的简单bash .sh文件就可以自动化我要备份到磁带的各种文件夹和文件.

我在运行rsync时通常使用的命令是:

sudo rsync -rvhW --progress --size only <src> <dest>

如果需要我使用sudo,我总是先用–dry-run测试结果

我有任何工作(没有踢出错误)的唯一方法是使用*通配符.但是,这只有具有设置模式的文件(例如01 *将只移动010000 – 019999范围内的文件),我将不得不重复02,03,04等.

我已经在网上看了,我正在努力找到一个有效的答案.

这可能是不可能的,并且对于600,000个.tif文件,我不能为每个文件一个排除!

有关如何(如果有的话)这样做的任何想法?

欧文.

解决方法:

Globing是shell的一项功能,可将通配符扩展为匹配文件名列表.您已在问题中使用过它.

对于以下解释,我假设我们在一个包含以下文件的目录中:

$ls -l
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 file.txt
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 funny_cat.jpg
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 report_2013-1.pdf
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 report_2013-2.pdf
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 report_2013-3.pdf
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 report_2013-4.pdf
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 report_2014-1.pdf
-rw-r----- 1 5gon12eder staff 0 Sep  8 17:26 report_2014-2.pdf

最简单的情况是匹配所有文件.以下是一个穷人的ls.

$echo *
file.txt funny_cat.jpg report_2013-1.pdf report_2013-2.pdf report_2013-3.pdf report_2013-4.pdf report_2014-1.pdf report_2014-2.pdf

如果我们想要匹配2013年的所有报告,我们可以缩小匹配范围:

$echo report_2013-*.pdf
report_2013-1.pdf report_2013-2.pdf report_2013-3.pdf report_2013-4.pdf

例如,我们可以省略.pdf部分,但我希望尽可能具体.

您已经提出了一个解决方案来使用它来选择一系列编号的文件.例如,我们可以按季度匹配报告:

$for q in 1 2 3 4; do echo "$q. quater: " report_*-$q.pdf; done
1. quater:  report_2013-1.pdf report_2014-1.pdf
2. quater:  report_2013-2.pdf report_2014-2.pdf
3. quater:  report_2013-3.pdf
4. quater:  report_2013-4.pdf

如果我们懒得输入1 2 3 4,我们可以使用$(seq 4)代替.这将使用参数4调用程序seq并替换其输出(在这种情况下为1 2 3 4).

现在回到你的问题:如果你想要大小为10的大小,你应该能够扩展上面的例子以满足你的需求.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐