방금 깔끔한 디렉토리에 파일을 엉망으로 만드는 아카이브를 압축 해제했습니다. 예를 들면 다음과 같습니다.
user@comp:~/tidy$ tar xvf myarchive.tar
file1
file2
dir1/
dir1/file1
dir1/subdir1/
dir1/subdir1/file1
dir2/
dir2/file1
...
tar 파일이 단일 폴더 (예 :)로 구성 될 것으로 예상 myarchive/
했지만 그렇지 않았습니다! 이제 약 190 개의 파일과 디렉토리가 구성되어있는 디렉토리에 디지털로 바프되었습니다. 이 untar 파일은 정리해야합니다.
이것을 "취소"하고이 아카이브에서 추출한 파일과 디렉토리를 삭제하는 방법이 있습니까?
아래의 훌륭한 답변에 감사드립니다. 요약 하면 다음은 두 단계 (1) 파일 삭제 및 (2) 빈 디렉토리 구조를 역 패킹 순서로 삭제하는 것입니다 (외부 디렉토리를 먼저 삭제).
tar tf myarchive.tar | xargs -d'\n' rm
tar tf myarchive.tar | tac | xargs -d'\n' rmdir
그리고 echo
이후 에 추가하여 명령의 드라 이런을 미리 보는 것이 더 안전합니다 xargs
.
xargs
( tac
대신은 sort -r
) 단지 화장품,하지만 당신은 당신이 코멘트에 설명 된대로, 당신을 맞지 않았던, 그 과정 치환과 대답을 받아? 또한 xargs -d'\n'
향후 사용자를 위해 요약하려는 경우 게시물에 스위치를 지정하여 파일 이름의 공백으로 물리지 않도록하십시오.
-d'\n'
지금까지 의 필요성을 결코 이해하지 못했으며, 추가 분석을 통해 당신의 대답은 실제로 내가 사용한 것에 더 가깝습니다.
-d'\n'
당신이 줄 xargs
을 바꾸지 말고 줄 을 바꾸지 않으면 스페이스에 파일을 넣을 수 있다는 사실 이 필요 합니다. 이름 folder1/some file
은 folder1/some
및 로 읽습니다 name
.