Файл с квадратными скобками в имени, не извлеченный tar

Я нашел виновника: это был псевдоним bash, который я создал несколько лет назад, а затем забыл

alias scp = 'scp -c arcfour '

Позор мне

4
04.05.2018, 15:20
2 ответа

Первая введенная вами команда попытается извлечь два или три файла:

someFolder/H
someFolder/D
video1.mp4

Если вы заключите имя файла в одинарные кавычки ('), программа tarувидит [HD]и обработает его как подстановочный знак, означающий «Или Hили D». Поэтому он попытается извлечь два файла:

someFolder/H video1.mp4
someFolder/D video1.mp4

Заключение имени файла в кавычки и с использованием флага --no-wildcardsпредотвратит эти попытки расширения:

tar -xC / -f /tarFile.tar 'someFolder/[HD] video1.mp4' --no-wildcards
7
27.01.2020, 20:50

Замените квадратные скобки подстановочными знаками (, такими как ?или *), например.

tar -x -C/ -v -f tarFile.tar 'someFolder/?HD? video1.mp4'

или:

tar -x -C. -v -f tarFile.tar 'someFolder/*video1.mp4'

Чтобы подтвердить имя файла, вы можете просмотреть файл архива, нажав:

tar -t -f tarFile.tar | grep mp4$
1
27.01.2020, 20:50

Теги

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