我经历了所有类似的问题,并安装了一些命令行工具(如duff),但没有成功。
在我的图像目录中,我具有相同名称但具有不同扩展名(jpg和png)的图像。我只想打印具有不同扩展名的重复文件名的文件名。(例如foo.jpg和foo.png)或至少一个文件名(foo)
到目前为止,我尝试了这些方法
find . -exec bash -c 'basename "$0" ".${0##*.}"' {} \; | sort | uniq
find . -type f \( -name "*.jpg" -o -name "*.png" \)
这些命令大多数都返回Nothing或全部文件或唯一文件名,但不返回重复文件名。
我建议您修改第二个命令:
find . -type f -name "*.jpg" | \
while read -r f; do [ -e "${f%.jpg}.png" ] && echo "${f%.jpg}"; done
这将查找所有.jpg
文件并检查相应.png
文件是否存在,并显示不带扩展名的完整路径。
请注意,如果.png
文件少得多,搜索这些.jpg
文件并检查相应的文件将更加有效。
[bash
在Ubuntu 18.04.1。上进行了测试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句