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的大小,你应该能够扩展上面的例子以满足你的需求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |