![tar를 사용하여 실제 추출된(건너뛰지 않은) 파일만 표시](https://linux55.com/image/148930/tar%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%8B%A4%EC%A0%9C%20%EC%B6%94%EC%B6%9C%EB%90%9C(%EA%B1%B4%EB%84%88%EB%9B%B0%EC%A7%80%20%EC%95%8A%EC%9D%80)%20%ED%8C%8C%EC%9D%BC%EB%A7%8C%20%ED%91%9C%EC%8B%9C.png)
일일 백업 아카이브를 추출하고 있습니다. 마지막 날 이후의 새 파일만 보고 싶습니다. 아카이브에는 이미 존재하는 많은 파일이 포함되어 있어 덮어쓰고 싶지 않으므로 해당 --skip-old-files
옵션을 사용하면 괜찮습니다.
하지만 나는 원한다목록만그 파일들실제로 추출됨그리고 이미 존재하기 때문에 건너뛴 항목은 무시하세요.
예:
내 현재 명령은 다음과 같습니다
tar --verbose --skip-old-files --extract --file=2019-02-10.tar.gz
출력은 다음과 같습니다(여기서 file1과 file2는 이미 존재하고 file3은 새로운 것임).
file1.zip
tar: file1.zip: skipping existing file
file2.zip
tar: file2.zip: skipping existing file
file3.zip
file3.zip의 출력이 필요합니다. 가능합니까?
답변1
이것이 디렉터리에 쓰는 유일한 프로세스인 경우 임시 파일을 만들고 자세한 정보 표시 모드에서 파일을 추출한 다음 임시 파일보다 변경 시간이 더 최근인 파일을 볼 수 있습니다.
예를 들어
MYTMP=$(mktemp)
tar --skip-old-files --extract --file=2019-02-10.tar.gz
find . -cnewer $MYTMP
rm $MYTMP