MD5重复删除错误

时间:2013-11-14 13:02:10

标签: linux bash

#!/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

1 个答案:

答案 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