pokaż różnice między plikiem a plikiem w (skompresowanym) archiwum tar


1

Powiedzmy, że rozpakowałem plik tar skompresowany gz i nie pamiętam, jakie zmiany wprowadziłem do rozpakowanych plików, lub zarchiwizowałem folder jakiś czas temu i chcę wiedzieć, co się zmieniło w plikach od tego czasu.

Mogę użyć, tar -zdaby uzyskać przegląd. Powiedzmy, że pokazuje, że plik foosię zmienił. Jak mogę zobaczyć zmiany w tym pliku, tj. Różnicę między plikiem w moim systemie plików a (starszym) plikiem w archiwum (najlepiej w vimdiff, ale wyjście diff też byłoby w porządku)?

Odpowiedzi:


1

Otwórz skompresowany plik tar w vimie, przesuń kursor do fooi wciśnij Enter. Następnie wykonaj

:vert diffsplit local/path/to/foo

2

Użyj tar ... -Owraz z podstawieniem procesu w bash.

diff ... <( tar ... -O ... file.ext ) file.ext

fajnie jest też uzyskać różnicę za pomocą jednej linii poleceń; po diff <(tar -xzOf archive.tgz dir/file.ext) dir/file.ext
krótkiej

(poprawka: Myślę, że to rozumiem, <( ... )przekształca standardowe wyjście ... w plik)
Kyss Tao,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.