잘못된 디렉토리에 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

관련 정보