回复47#fbscell不好意思刚看到这条评论。我其实也不太擅长shell脚本。脚本是这样的,分成2类:
首先:
删除需谨慎,重要文件多确认。第一句是单纯搜索重复文件不执行删除:
find . | egrep --color=always ".* 2"其中用来匹配的是引号里的「
.* 2」(注意.*和2之间有个空格符号,就是用来匹配空格的),「.*」用来匹配任意长度的任何字符,「2」就是直接匹配后面的数字的,也可以改成3或者4这样,这样就能搜索XXX 3或者XXX 4这样的了。
搜索到的重复文件不多的话,可以手动删除。另外这句可能会多搜出一些不是iCloud冲突的文件,下一句删除其实做了更多的判断,更加准确。
第二句就是在第一句的基础上加了删除的操作:
find -E . -regex ".* 2(\..*)?" -print0 | xargs -0 trash -F这里需要你先安装一下命令行工具
trash,否则只能用默认的rm命令来删除,使用trash -F命令来删除的好处是删除的文件可以在Mac的垃圾桶里找到并复原,防止错删文件。
安装命令行工具trash需要先安装macOS的包管理工具
Homebrew,安装有点考验网络,不行的话多执行几次。
Homebrew的安装命令如下:
/bin/bash -c "$(curl -fsSLhttps://raw.githubusercontent.co ... all/HEAD/install.sh)"Homebrew安装成功后使用Homebrew安装trash:
brew install trash第二句脚本的解释:引号里的「
.* 2」含义同上,数字2同样可以换成3或者4,「
(\..*)?」这几个是用来匹配一些没有后缀名的重复文件和另一些有后缀名的文件,比如冲突文件叫「aaaa 2」或者是「aaaa 2.txt」。
最后还是:
删除需谨慎,重要文件多确认。