無効なディレクトリにtarファイルを抽出しました

無効なディレクトリにtarファイルを抽出しました

間違ったディレクトリにtarファイルを抽出しましたが、tarファイルは200個のファイルを抽出しました。ディレクトリに10個のファイルがあり、必要なため、ディレクトリからすべてを削除することはできません。

答え1

個人的には、tarファイルを空のディレクトリに抽出し、diff --report-identical-files --recursive --brief新しいディレクトリをエラーディレクトリに抽出し、いくつかのsedスクリプトを使用してエラー名を抽出し、それを一連のrmコマンドに変換して実行します。

私のsedスクリプト:

#!/bin/sh

stdbuf -oL sed -n \
        -e 's/^Files ..*\(\/..*\) and \(..*\1\) are identical$/\2/p' \
        -e 's/^File ..*\(\/..*\) is a socket while file \(..*\1\) is a socket$/\2/p' \
        -e 's/^File ..*\(\/..*\) is a fifo while file \(..*\1\) is a fifo$/\2/p' \
    | stdbuf -oL sed \
        -e s/"'"/"'"'"'"'"'"'"'"/g \
        -e 's/.*/rm   '"'"'&'"'"'/' \
        ;

より簡単な解決策は、tar -t.tarファイルを使用してファイルのリストを生成し、ファイルを削除することです。

おそらく:

tar tf tarfilename.tar | xargs rm -i

関連情報