Skip to main content

Розпакуйте або розпакуйте багато файлів одночасно в Linux

Розпакуйте або розпакуйте багато файлів одночасно в Linux

Geoffrey Carr

Якщо у вас є каталог з десятками файлів з архіву або rar'd, ви можете запустити одну команду, щоб розпакувати їх усі за один крок завдяки потужності оболонки bash.

Для цього завдання ми будемо використовувати структуру командного циклу bash для циклу. Замініть з ім'ям змінної, і або командою, яка виводить список або явний список.

for in do command $;done

Замість цього ви можете запустити його за одним рядком за допомогою цього синтаксису:

for in ;do command $;done

Отже, якщо ви хочете розірвати список файлів, ви можете використовувати цю команду. Вам не обов'язково потрібні лапки, але це допомагає, коли імена файлів містять пробіли або щось подібне у них.

for f in *.rar;do unrar e “$f”;done

Якщо ви хочете використати 7zip, щоб отримати список файлів:

for f in *.001;do 7z e “$f”;done

Або якщо ви хочете розпакувати список файлів:

for f in *.zip;do unzip “$f”;done

Ви можете навіть об'єднати команди, якщо хочете. Наприклад, якщо у всіх ваших ZIP-файлах містилися файли .txt, і ви хотіли розпакувати їх, а потім перенесіть розпаковані файли в інший каталог:

for f in *.zip;do unzip “$f”;done; for f in *.txt;do mv “$f” /myfolder/;done

Оболонка bash настільки неймовірно потужна ... це навіть не торкнеться влади, але це має дати вам гарне уявлення про те, що можливо.

Link
Plus
Send
Send
Pin