#!/bin/bash
shopt -s nullglob
for i in $2; do
md5sum=$(md5sum -q "$file")
echo "-- Found: $file ($md5sum)"
for duplicate in $2; do
if [[ "$md5sum" = "$(md5sum -q "$duplicate")" ]]; then
rm -v "$duplicate"
fi
done
done
我正在尝试从linux中的目录中删除重复项,我使用
调用此脚本source ~/my-applications/bin/remdup
但我得到的错误是找不到md5命令,它找不到重复的目录,任何提示? 我对linux的经验也很少,所以这段代码是由我试图拼凑我在互联网上学到的东西组成的,所以欢迎任何提示。 这个被调用的脚本是shell,这是一个bash所以我不知道这是否会改变任何东西
编辑:必须将某些东西改为2美元,因为它从其他脚本中携带变量 编辑:将第7行md5更改为md5sum
答案 0 :(得分:0)
以这种方式尝试:
#!/bin/bash
shopt -s nullglob
for file in "$2"/*
do
md5sum=$(md5sum < "$file")
echo "-- Found: $file ($md5sum)"
for duplicate in "$2"/*
do
[ "$file" = "$duplicate" ] && continue
[ "$md5sum" = "$(md5sum < "$duplicate")" ] && rm -v "$duplicate"
done
done