Unix Shell 脚本删除具有相同文件名但不同文件扩展名的重复文件

Unix Shell script to remove duplicate files with the same filename but different file extension

我是 Unix shell 脚本的新手。获得了命令的基本知识并尝试编写我的第一个脚本。 问题:我有一个包含大量 PDF 和 DOC 文件的存档文件夹。其中很多都有 PDF 和 DOC 版本,例如hello.doc 和 hello.pdf。我想删除这些 "duplicates" 的所有具有相同文件名的 pdf 版本,实际文件内容是否相同并不重要。 过去一周我尝试寻找一些解决方案,但通常我只找到基于文件内容的解决方案。

非常感谢您的帮助。

您可以尝试类似的方法:

for i in *.doc; do
  pdffile=$(echo "$i"|sed 's/\.doc/\.pdf/')
  if [[ -f "$pdffile" ]]; then
    rm "$pdffile"
  fi
done

其作用是:对于当前目录中的每个 doc 文件,是一个具有相同名称但带有 pdf 的文件,然后删除 pdf 文件。