Показать различия между файлом и файлом в (сжатом) архиве tar

Скажем, я распаковал сжатый gz tar-файл и не помню, какие изменения я внес в распакованные файлы, или я заархивировал папку некоторое время назад и хочу знать, что с тех пор изменилось в файлах.

я могу использовать tar -zd чтобы получить обзор. Затем, скажем, это показывает мне файл foo изменился Как я могу увидеть изменения в этом файле, то есть разницу между файлом в моей файловой системе и (более старым) файлом в архиве (в идеале в vimdiff, но вывод diff тоже подойдет)?

2 ответа

Решение

Откройте сжатый tar-файл в vim, переместите курсор на foo и нажмите Enter. Затем выполните

:vert diffsplit local/path/to/foo

Использование tar ... -O наряду с заменой процесса в Bash.

diff ... <( tar ... -O ... file.ext ) file.ext
Другие вопросы по тегам