2016-12-10 2 views
1

hello.txt가 포함 된 1.tar.gz과 hello.txt 및 helloworld.txt가 포함 된 2.tar.gz라는 두 개의 보관 파일이 있습니다.두 개의 tar.gz 사이의 차이점을 얻는 방법

나는이 두 tar.gz 사이에 diff를 얻습니다. 출력은 helloworld.txt 여야합니다.

내가 그랬듯이 명령을 시도했다 :

diff <(tar -tvf 1.tar.gz | sort) <(tar -tvf 2.tar.gz | sort) 

하지만 출력은 틀렸다.

< drwxr-xr-x user/user   0 2016-12-09 23:29 1/ 
< -rw-r--r-- user/user  344 2016-12-09 23:29 1/hello.txt.gpg 
--- 
> drwxr-xr-x user/user   0 2016-12-09 23:27 2/ 
> -rw-r--r-- user/user  344 2016-12-09 23:27 2/hello.txt.gpg 
> -rw-r--r-- user/user  363 2016-12-09 23:27 2/helloworld.txt.gpg 

답변

2

이것은 또한 작동합니다 :이 결과를 가지고

$ diff <(tar -tvf 1.tar.gz | rev | cut -d\/ -f1 | rev) <(tar -tvf 2.tar.gz | rev | cut -d\/ -f1 | rev) 
1a2 
> helloworld.txt.gpg 

또한 설명 :

다음 : | rev | cur -d\/ -f1 | rev 전체 경로에서 바로 파일 이름을 얻기의 빠른 방법입니다 .

+0

작품입니다! 고마워요! – Mattasse

관련 문제