У меня много таких файлов
SomeDirectory/RandomName.spa
SomeDirectory/AnotherRandomName.spa
SomeDirectory/YetAnotherRandomName.spa
...
Я хочу распаковать каждый .spa
файл в SomeDirectory
каждую отдельную папку с тем же именем. Я бы использовал что-то вроде - tar -xvf
, но с какими атрибутами?
После этого я хочу снова упаковать каждую папку SomeDirectory
обратно RandomName.spa
(с сохранением названия папки). Команда была бы tar -cvf
, но с какими атрибутами?
tar
? Если нет, то я бы предложил сделать это. В терминале введите,tar
а затем нажмите его, удерживая клавишу Control, выбрав «Открыть страницу руководства». Тогда, если вы все еще в замешательстве, отредактируйте ваш вопрос и попробуйте описать более подробно.*.spa
файлы на самом деле являются архивами tar? Что произойдет, если вы бежитеtar -xvf RandomName.spa
?Ответы:
Предполагая, что (1)
.spa
файлы на самом деле являются.tar
архивами, (2) вы находитесьSomeDirectory
и (3) что каталоги с именами архивов, которые вы хотите извлечь, не существуют, следующий фрагмент кода должен достичь того, чего вы хотите:Или, если вы предпочитаете однострочник:
Первая строка
for
цикла удаляет имя.spa
из архива и присваивает его переменной, которая используется во второй строке для создания каталога с этим именем, а в третьей строке -tar
с-C
аргументом.-C
Аргумент вtar
только изменения каталога во время экстракции и на самом деле не сделать один, делая вещи аа немного более сложным , чем они должны быть.Предоставлено: Этот ответ является небольшой модификацией https://superuser.com/a/748567/226246.
источник