Как сделать, командная строка ищет дублирующиеся загрузки в папке загрузок?

Я надеюсь делать поиск командной строки дублирующихся загрузок в моем Downloads папка.

Позвольте говорят, что я загружаю test.mp3, но затем случайно загрузите его снова, 2-я загрузка обнаружится как test(1).mp3. Я хочу искать любой файл, который имеет" (1)" в конце имени файла, но перед расширением файла. Что было бы команда, чтобы сделать это быть?

1
задан 25 September 2019 в 10:13

2 ответа

Я думаю, что это - то, что Вы ищете:

for f in ~/Downloads/*; do
    if [[ $f == *\([1-9]\).* ]]; then
        echo "$f"
    fi
done
  • Править: @steeldriver указал, что шарики могут сделать вышеупомянутое, таким образом, простое решение - это:

    printf '%s\n' ~/Downloads/*\([1-9]\).*
    

Я предпочитаю простой Bash, но Вы могли сделать это в одном использовании строки find:

find ~/Downloads/ -name '*\([1-9]\).*'
3
ответ дан 3 December 2019 в 06:38

Кроме того, мы можем вычислить контрольные суммы и распечатать дублированный (это независимо от дублированных соглашений о присвоении имен загрузки).

md5sum ~/Download/*.mp3 | awk 'a[$1]{print $2 }{ a[$1]=$2}'
2
ответ дан 3 December 2019 в 06:38

Другие вопросы по тегам:

Похожие вопросы: