Показать различия между файлом и файлом в (сжатом) архиве 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