我必须编写一个脚本,从作为参数传递的文件中删除重复的常规文件(具有相同内容的文件)。此外,我必须保留具有最早时间戳的文件。如果时间戳有关系,我可以任意选择一个。
例如:
如果我有三个文件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
但它没有按预期工作。有任何想法吗?