Ubuntu에는 디렉터리에서 중복 폴더(즉, 동일한 콘텐츠가 포함된 폴더)를 찾는 방법이 있습니까? 중복 파일(예: fdupes)을 찾는 데 사용할 수 있는 몇 가지 명령줄 도구가 이미 있다고 생각하지만 중복 폴더를 찾고 싶습니다. 즉, 포함된 파일의 내용과 일치하는 폴더를 찾으십시오(파일 이름과 기타 메타데이터는 다를 수 있음).
답변1
#!/bin/bash
shopt -s dotglob
for file in "$1"/*; do [[ -f "$file" ]] && d1+=( "$(md5sum < "$file")" ); done
for file in "$2"/*; do [[ -f "$file" ]] && d2+=( "$(md5sum < "$file")" ); done
[[ "$(sort <<< "${d1[*]}")" == "$(sort <<< "${d2[*]}")" ]] && echo "Same" || echo "Different"
여기에서 실제로 작동하는 모습을 볼 수 있습니다:
$ mkdir 1 2
$ ./comparedirs 1 2
Same
$ cat > 1/1 <<< foo
$ cat > 2/1 <<< foo
$ ./comparedirs 1 2
Same
$ cat > 2/1 <<< bar
$ ./comparedirs 1 2
Different