Як розпакувати декілька файлів "7z" за один раз, а вміст перейти у відповідну папку з тим же ім'ям, що й zip-файл?


0

Як видно з назви, я хотів би знати, як можна розпакувати кілька файлів "7z" одночасно, а вміст файлів .7z помістити в папку (в тому ж каталозі, що й ".7z") з таке ж ім'я, що й файл .7z. Крім того, чи можна автоматично створювати папки, якщо вони не існують?

Відповіді:


1

Це не здається, що є опція командного рядка, так що вам доведеться використовувати якийсь цикл. Приклад може виглядати так:

#!/bin/bash
for i in *.7z do
    dirName=${i/\.7z/}
    mkdir "$dirName"
    7za x -o"$dirName" $i
done

Цитувати "$dirname" інакше він буде робити безлад у разі пробілів ... ;-)... можливо, краще for i in *.7z щоб уникнути розбору ( trdr; інші проблеми з новими рядками та спеціальними символами.)
Hastur

Але хто буде використовувати пробіли в системі Linux! Ви маєте рацію.
Seth

У ньому багато людей, які постійно використовують вікна ... :-D і які продовжують надсилати вам файли ...
Hastur
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.