![tar: 업데이트된 인스턴스가 많은 파일의 특정 버전을 추출하는 방법](https://linux55.com/image/195645/tar%3A%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EB%90%9C%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EA%B0%80%20%EB%A7%8E%EC%9D%80%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%8A%B9%EC%A0%95%20%EB%B2%84%EC%A0%84%EC%9D%84%20%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
여러 번 업데이트된 tar 파일이 있고 동일한 파일의 복사본이 여러 개 있습니다. -x를 사용하면 최신 버전의 파일이 추출된 것으로 나타났습니다.
예: a.txt의 세 가지 버전이 포함된 save.tar 파일이 있습니다: a.txt version1 "완전하지 않습니다." a.txt version2 "올바릅니다." a.txt version3 "손상되었습니다."
a.txt를 추출하는 방법(버전 2)
답변1
에 대한. 40년 전에 tar
가져와야 하는 n번째 이벤트를 지정하는 옵션에 대한 논의가 있었지만 그것이 좋은 생각인지는 확실하지 않습니다.
표준 tar
구현을 사용하면 다음을 호출할 수 있습니다.
tar xvwf archive.tar
그런 다음 "올바른" 버전이 추출되었는지 대화형으로 확인합니다.
의 경우 star
추가 방법이 있습니다.
star -xv < archive.tar -find -mtime +some-time-spec -mtime -other-time-spec
"올바른" 버전을 선택하기 위해 두 가지 유용한 타이밍 지정자를 사용합니다.
바라보다:http://schilytools.sourceforge.net/man/man1/star.1.html
물론 아카이브에 더 많은 파일 이름이 포함되어 있는 경우 추가 경로 이름 선택기를 사용해야 합니다. 따라서 표준을 사용하면 tar
다음과 같습니다.
tar xvwf archive.tar a.txt
별을 추가하면 다음과 같습니다.
star -xv < archive.tar a.txt -find -mtime +some-time-spec -mtime -other-time-spec
또는:
star -xv < archive.tar -find -path a.txt -mtime +some-time-spec -mtime -other-time-spec