2013-10-09 67 views
1

偶爾我會將tar歸檔文件解壓到完全錯誤的目錄中。通常是因爲一些檔案有一個目錄下的所有文件,有些則不是。刪除從tar歸檔文件中提取的文件

tar -xvf archive.tar 

什麼是最好的方式撤消/扭轉這種情況?

列出archive.tar中包含的文件並將它們傳送給rm ...?

額外的互聯網點用於處理可能已被提取覆蓋的文件。

+1

'用於處理可能被提取覆蓋的文件的額外互聯網點。「 - 有**無法**確定提取存檔後。 – devnull

回答

0

我的google-fu很弱。

從這個[http://www.commandlinefu.com/commands/view/2573/remove-all-files-previously-extracted-from-a-tar.gz-file.](commandlinefu entry) )

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

希望這會幫助別人。

如果有人知道處理覆蓋文件的方式,我會將其標記爲正確的答案。

+1

如何處理被覆蓋的文件:從備份中恢復。除非目錄恰好在源代碼控制之下(並且'tar'文件不會以某種方式覆蓋回購元數據),否則沒有其他記錄顯示目錄過去的樣子。 – chepner