Centos

如何根據 gzip 壓縮的 tar 文件的內容從目錄中刪除文件?

  • September 4, 2015

鑑於我:

  • 有一個包含 1000 多個文件的目錄
  • 有一個 gzip’ed tar 文件,其中包含這些文件的子集 (x.tgz)

將讀取 gzip 的 tar 文件內容並從 tar 文件中包含的目錄中刪除所有文件的單個命令行(如果可能的話)是什麼?

您需要位於創建 tar 文件的目錄中,例如$HOME. 然後,如果您的 Documents 目錄的 tgz 安全地位於其中,/backup/Documents.tgz您將執行以下操作:

$ for file in $(tar -tzf /backup/Documents.tgz); do \
     [[ -f $file ]] && rm $file || echo "$file does not exist"; done

如果您還想刪除目錄,您將使用rm -fr $file.

可能是這樣的事情會幫助你

rm -rf `find . -name '*.tgz' -exec tar -tzf '{}' \;`

不確定它如何處理這麼多文件。

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