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

时间:2017-10-11 10:47:47

标签: shell unix pdf doc

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

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方式:

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

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