我使用find . -name \*.%ext% -print0 | xargs -I{} -0 cp -v {} %File%s
命令在Drobo上复制并重新排序了近1TB的文件。我需要确保正确复制所有文件。这就是我到目前为止所做的:
#!/bin/sh
find . -type f -exec basename {} \; > Filelist.txt
sort -o Filelist.txt Filelist.txt
uniq -c Filelist.txt Duplist.txt
我需要找到一种方法来获取每个文件的校验和,并确保所有文件都是重复的。源文件夹与副本位于同一目录中,其安排如下:
_Stock
_Audio
_CG
_Images
_Source (the files in all other folders come from here)
_Videos
我正在研究OSX。
答案 0 :(得分:0)
#!/bin/sh
find . \( ! -regex '.*/\..*' \) -type f -exec shasum {} \; -exec basename {} \; | cut -c -40 | sed 'N;s/\n/ /' > Filelist.txt
sort -o Filelist.txt Filelist.txt
uniq -c Filelist.txt Duplist.txt
sort -o Duplist.txt Duplist.txt
regex
表达式删除隐藏文件,shasum
和basename
参数在文本文件中创建两个单独的输出,因此我们|到cut
然后sed
合并输出,以便sort
和uniq
命令可以解析它们。这个剧本很乱,但它完成了很好的工作。