如何搜索已压缩和解压缩的同名重复文件?
我知道我可以使用下面的内容进行初始搜索,但是不确定如何输入一些重复的文件术语...
find / -iname \*.zip
答案1
假设要查找.zip
当前目录下的所有文件,并检查是否有同名但不带.zip
文件名后缀的文件:
find . -type f -iname '*.zip' -exec sh -c '
for a do
n="${a%.zip}"
[ -e "$n" ] && printf "%s\n" "$n"
done' sh {} +
目录包含
file
file.zip
file2.zip
file3
file3.zip
上面的命令会输出
./file
./file3
这是通过查找所有.zip
文件来完成的,对于所有找到的文件,运行一个简短的 shell 脚本,依次去除每个名称的扩展名并检查该新名称是否存在。
或者,稍微短一些,
find . -iname '*.zip' -exec sh -c '[ -e "${0%.zip}" ]' {} ';' -print
这也使用了辅助 shell 脚本,但它只是测试不带.zip
后缀的文件名是否存在。如果存在无后缀名称,则输出 zip 文件的路径名。
也可能相关: