我想使用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.pdf2. quater: report_2013-2.pdf report_2014-2.pdf3. quater: report_2013-3.pdf4. quater: report_2013-4.pdf
如果我们懒得输入1 2 3 4,我们可以使用$(seq 4)代替.这将使用参数4调用程序seq并替换其输出(在这种情况下为1 2 3 4).
现在回到你的问题:如果你想要大小为10的大小,你应该能够扩展上面的例子以满足你的需求.
总结以上是内存溢出为你收集整理的linux – 使用RSync复制连续的文件范围全部内容,希望文章能够帮你解决linux – 使用RSync复制连续的文件范围所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)