Я бы использовал zsh
(sudo apt-get install zsh
, если он еще не установлен):
#! /bin/zsh -
typeset -A files
for f in **/*.*(.LM+50oL); do
if (($+files[$f:t:r])); then
printf '"%s" was smaller than "%s"\n' $files[$f:t:r] $f
ls -lUd -- $files[$f:t:r] $f
rm -i -- $f
else
files[$f:t:r]=$f
fi
done
То есть пройти все более 50МиБ (как типичные для видео )файлы, отсортированные по размеру, и если файл с таким же концевым (базовым именем )и корневым именем (то без расширения )уже встречалось ранее, значит оно было меньше, поэтому предложите убрать его (с -i
, чтобы получить шанс отказаться ).
Пример:
$ that-script
"foo.mov" was smaller than "foo.avi"
-rw-r--r-- 1 chazelas chazelas 62914560 Jun 29 00:08 foo.mov
-rw-r--r-- 1 chazelas chazelas 73400320 Jun 29 00:08 foo.avi
rm: remove regular file 'foo.avi'?
Спасибо Кусалананде за помощь в решении моей проблемы.
Проблема заключалась в том, что gpg-agent
по-прежнему устанавливался через apt
. Запуск sudo apt remove gpg-agent
, а затем gpgconf --kill all
устранил проблему.