使用shell脚本删除具有相同内容的文件

时间:2017-11-05 23:59:35

标签: shell unix sh

我必须编写一个脚本,从作为参数传递的文件中删除重复的常规文件(具有相同内容的文件)。此外,我必须保留具有最早时间戳的文件。如果时间戳有关系,我可以任意选择一个。

例如:

  

如果我有三个文件A B和C,其中包含相同的内容,并且A和B具有相同的时间戳,那么我必须保留A或B并删除另一个文件以及文件C.

到目前为止我做了什么:

if["$#" -1e 1];then
echo "Usage `basename $0` has $# arguments. Need to use atleast 2 arguments to compare the files"
while [ "$#" -ge 2 ]; do
if [ -f "$1" -a -f "$2" ]; then
[cmp -s $1 $2 ] && [ "$1" -nt "$2" ] && rm $1 || rm $2
fi 
shift
done

但它没有按预期工作。有任何想法吗?

0 个答案:

没有答案