Scripting

解壓/壓縮文件搜尋

  • February 27, 2019

如何搜尋已壓縮和解壓縮的同名重複文件?

我知道我可以使用以下內容進行初始搜尋,但不確定如何輸入一些重複的文件術語…

find / -iname \*.zip

假設您要查找.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 文件的路徑名。

也可能相關:

引用自:https://unix.stackexchange.com/questions/443932