LinuxForum.Fans
Тема

Доработать поиск дубликатов файлов на bash

Автор: mag-gendalf 3 сообщений 672 просмотров
09.06.2022 21:51 #437780

Приветствую. Бьюсь над разработкой скрипта для поиска файлов на bash

Хочу сделать это без сторонних программ типа fdupes.

За основу взял это

text
 find "$PWD" -type f -exec xxhsum {} \; | sort | uniq -w 16 -D 

Работает правильно. Выводит файлы с одинаковыми хешами.

Необходимо доработать так чтобы выводило размеры файлов а не только хеш. Желательно одной командой и в одной таблице.

Будут идеи как сделать это?

10.06.2022 21:18 #437781
"mag-gendalf" написал:
Необходимо доработать так чтобы выводило размеры файлов а не только хеш.
text

#!/bin/bash

hash=$(find "$PWD" -type f -exec xxhsum {} \; | sort | uniq -w 16 -D) size=$(du -h $(echo "$hash" | awk '{ print $2 }') | cut -f1)

paste <(echo "$size") <(echo "$hash")

p.s. bash-скрипт выводит два значения переменных в одну и ту же последовательность строк

10.06.2022 23:51 #437782

Спасибо. Неплохо но на некоторых именах файла он не работает. Но возьму себе для практики :)

А такой вариант у меня полностью работает

text
 find "$PWD" -type f -printf '%s\t' -exec xxhsum {} \; | sort | uniq -w 16 -D | tr '\t' ' ' | tr -s " " 
Войдите или зарегистрируйтесь, чтобы ответить.