gzipで圧縮されたtarファイルの内容に基づいてディレクトリからファイルを削除する方法は?

gzipで圧縮されたtarファイルの内容に基づいてディレクトリからファイルを削除する方法は?

私は次の点を考慮して:

  • 1000以上のファイルを含むディレクトリを保持します。
  • これらのファイルのサブセットを含むgzipで圧縮されたtarファイル(x.tgz)があります。

gzipで圧縮されたtarファイルの内容を読み取り、tarファイルに含まれているディレクトリからすべてのファイルを削除する単一のコマンドライン(可能な場合)は何ですか?

ベストアンサー1

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

おすすめ記事