Адаптация ответа на аналогичный вопрос:
find. -type f -name '*.jpeg' -exec sh -c '
for pathname do
jpg_pathname=${pathname%.jpeg}.jpg
if [ -f "$jpg_pathname" ]; then
printf "Would remove %s\n" "$pathname"
# rm "$pathname"
fi
done' sh {} +
Находит пути ко всем файлам с суффиксом имени файла .jpeg
в текущем каталоге или ниже него. Для как можно больших пакетов этих путей вызывается краткий скрипт в строке -. Сценарий перебирает текущую группу путей и обнаруживает любой файл, который имеет ту же основу имени файла, за которой следует .jpg
. Если файл .jpeg
имеет соответствующий файл .jpg
, файл .jpeg
удаляется (, если закомментированный rm
активирован ).
Укороченная версия (с удаленными комментариями по безопасности и без вывода текста):
find. -type f -name '*.jpeg' -exec sh -c '
for pathname do
[ -f "${pathname%.jpeg}.jpg" ] && rm "$pathname"
done' sh {} +
(Вы заметите, что это оказалось рекурсивной вариацией ответа Стефана Шазела)
Я в той же лодке. Я подумал о переустановке своей системы, но я потратил часы на то, чтобы получить свою систему по мере необходимости.
Я тоже много чего пробовал, но после перезагрузки я просто сделал "killall pulseaudio", моя система автоматически переподключилась к моим наушникам, и проблема исчезла