Ekstrakcja plików masowych


2

Informacja o systemie:

aggitan@moneque:~$ uname -a
Linux moneque 2.6.32-25-generic #44-Ubuntu SMP Fri Sep 17 20:05:27 UTC 2010 x86_64 GNU/Linux

aggitan@moneque:~$ 7z

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Mam folder, w którym znajduje się 68 archiwów, od .rar, .ace i amp; .zamek błyskawiczny.

Chcę wyodrębnić wszystkie te pliki, używając ich nazwy folderu jako pierwszego katalogu („Wyodrębnij tutaj”)

Jeśli korzystam z rolki plików, zatrzymuje się przy pierwszym błędzie, nie ma flagi „ignoruj ​​błąd” dla wałka pliku.

Jeśli używam 7zip, zrzuca wszystko do bieżącego folderu i nie używa czystych folderów

Jak mogę wyodrębnić wszystko do oddzielnych folderów bez rozlewania wszystkiego do bieżącego katalogu?

Odpowiedzi:


2

for i in *; do mkdir "$i.extracted"; (cd "$i.extracted" && 7z x "../$i") || echo "Error with $i"; done


2
Zrób to for i in *; do mkdir "$i.extracted"; (cd "$i.extracted" && 7z x "../$i"); done. W ten sposób, jeśli cd kończy się niepowodzeniem dla określonego katalogu, 7z nie działa w bieżącym katalogu.
— Gilles

@Gilles: dobry punkt, dzięki. Dodano również komunikat o błędzie (mam nadzieję, że moje nawiasy są poprawne)
— Tobias Kienzler

1
@Tobias: Dzięki nawiasom nie potrzebujesz cd ..: nawiasy tworzą podpowłokę, a zmiana katalogu jest lokalna dla tej podpowłoki.
— Gilles

@Gilles: jeszcze raz dowiedziałem się czegoś nowego, dziękuję
— Tobias Kienzler

Zrobiłem to dla mnie, dziękuję. Czy umieściłem link do askubuntu, czy powinienem link do tego, skopiuj wklej swoją odpowiedź lub możesz ją tam zamieścić? askubuntu.com/questions/8089/…
— aggitan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.