【问题标题】:delete files extracted from tar archive删除从 tar 存档中提取的文件
【发布时间】:2013-10-16 07:30:51
【问题描述】:

有时我将 tar 存档解压缩到完全错误的目录中。通常是因为有些档案将所有文件都放在一个目录下,而有些则没有。

tar -xvf archive.tar

撤消/撤消此操作的最佳方法是什么?

列出 archive.tar 中包含的文件并将它们通过管道传输到 rm ...?

用于处理可能已被数据提取覆盖的文件的额外 Internet 点。

【问题讨论】:

  • Extra internet points for handling files that may have been overwritten by the extract. -- 没有办法确定压缩包解压后。

标签: shell tar rm


【解决方案1】:

我的 google-fu 很弱。

来自 [http://www.commandlinefu.com/commands/view/2573/remove-all-files-previously-extracted-from-a-tar.gz-file.] 上的 cmets(commandlinefu 条目)

tar tf <file.tar.gz> | sort -r | while read file; do if [ -d "$file" ]; then rmdir "$file"; else rm -f "$file"; fi; done

希望这对其他人有帮助。

如果有人知道处理被覆盖文件的方法,我会将其标记为正确答案。

【讨论】:

  • 如何处理被覆盖的文件:从备份中恢复。没有其他关于该目录的记录,除非该目录恰好处于源代码控制之下(并且tar 文件没有以某种方式覆盖 repo 元数据)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多