解压/压缩文件搜索

解压/压缩文件搜索

如何搜索已压缩和解压缩的同名重复文件?

我知道我可以使用下面的内容进行初始搜索,但是不确定如何输入一些重复的文件术语...

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 文件的路径名。

也可能相关:

相关内容