tar diff :получить только имена файлов

У меня все получилось. Похоже, мне нужно включить IPv6 вручную:

docker run -it --rm --cap-add=NET_ADMIN --device /dev/net/tun \
           --sysctl net.ipv6.conf.all.disable_ipv6=0 -v $PWD:$PWD \
           ubuntu bash
-1
17.05.2021, 23:41
2 ответа

Вы можете использовать такую ​​комбинацию:

tar -df archive.tar | awk -F: '{print $1}' | sort -u

tar -dfполучить измененные файлы (они у вас уже есть)

awk -F: '{print $1}'печатать только первый "столбец"

sort -uудалить дубликаты

РЕДАКТИРОВАТЬ :после ввода @roaima, если вам нужно сопоставить файлы, которые сами содержат двоеточие (или пробелы )в своих именах, вы можете заменить часть awkна эту

sed 's/\(.*\):.*/\1/'

это будет эффективно отображать только имена файлов до последнего появления двоеточия (, которое находится в конце первого столбца)

2
28.07.2021, 11:31

Вы смотрели на star?

Можно использовать:

star -diff -tpath < archive.tar

Вариант -tpathимеет значение.

Самая последняя версия звездочки находится в schilytools.

1
28.07.2021, 11:31

Теги

Похожие вопросы