Menedżer / ekstraktor archiwum wiersza poleceń

15

Ciągle zapominam o wszystkich odpowiednich poleceniach wyodrębniania dla każdego formatu kompresji.

Zastanawiałem się więc nad napisaniem skryptu, który jedynie mapuje rozszerzenia plików na odpowiednie polecenie wyodrębnienia. Ale chyba coś takiego już istnieje, po prostu nie mogę tego znaleźć.

Byłbym zadowolony z czegoś takiego jak rolka do plików, ale rolka do plików jest narzędziem graficznym.

brillout
źródło

Odpowiedzi:

11

Kilka sugestii:

unp

unp (dostępny z centrum oprogramowania) to mały moduł perla, który rozpakuje wiele różnych archiwów do bieżącego folderu. Użyj unp -sdla obsługiwanych formatów archiwów

Domyślnie dekompresuje archiwa do bieżącego folderu.

wałek do plików

sam rolownik plików można uruchomić z wiersza poleceń. Służy file-roller -h <archive name>do dekompresji archiwum.

fossfreedom
źródło
11

Od tutaj , aby umieścić w swoim .bashrc:

extract () {
   if [ -f $1 ] ; then
      case $1 in
         *.tar.bz2)   tar xjf $1      ;;
         *.tar.gz)   tar xzf $1      ;;
         *.bz2)      bunzip2 $1      ;;
         *.rar)      rar x $1      ;;
         *.gz)      gunzip $1      ;;
         *.tar)      tar xf $1      ;;
         *.tbz2)      tar xjf $1      ;;
         *.tgz)      tar xzf $1      ;;
         *.zip)      unzip $1      ;;
         *.Z)      uncompress $1   ;;
         *)         echo "'$1' cannot be extracted via extract()" ;;
      esac
   else
      echo "'$1' is not a valid file"
   fi
} 
frabjous
źródło
Dodaj przykład, jak z niego korzystać?
MiniGod,
4
rozpakuj plik.zip
frabjous
4

Co nie zostało jeszcze wspomnieć o swiss-army-knife z narzędzi wiersza polecenia: atool; jest dostępny w repozytoriach: kliknij atool Zainstaluj atool lub uruchom sudo apt-get install atool.

atooljest w rzeczywistości skryptem zawierającym różne funkcje, takie jak aunpack, apack, als, acat, adiff i arepack. Prawdopodobnie najczęstszym zastosowaniem tego programu jest rozpakowywanie archiwów za pomocą polecenia aunpack. Istnieje kilka interesujących i przydatnych opcji, ale podstawowym sposobem na wyodrębnienie większości archiwów jest po prostu uruchomienie, na przykład,

aunpack myarchive.tar

Obsługa formatów tar, 7z, zip, jar, rar, ar, lha i wielu innych formatów archiwów oraz ich odmian dokumentuje się, wchodząc man atooldo terminalu lub przeglądając stronę internetową Ubuntu .

Przydatną rzeczą jest to, że jeśli masz archiwum tar, zip i gz w tym samym folderze, wszystko, co musisz zrobić, aby je rozpakować, to uruchomić

aunpack -e *

i wszystkie obsługiwane archiwa zostaną rozpakowane z zachowaniem struktury folderów. Jeśli nazwa folderu wynikowego już istnieje, nie zostanie zastąpiona, ale otrzyma unikalną nazwę, np. Unpack-5645.

Lub jeśli chcesz wybrać tylko jeden typ archiwum i rozpakować je wszystkie, zamiast tego użyj

aunpack -e *.zip

Jeśli potrzebujesz rozpakowanych plików bezpośrednio w określonym katalogu, zachowując jedynie strukturę katalogu podfolderów (jeśli zostanie zamknięty), wpisz na przykład:

aunpack -e Scripts11.zip -X /home/mike/Videos

Jeśli plik o tej samej nazwie już istnieje, zostaniesz poproszony o akcję polegającą na zmianie nazwy lub zastąpieniu, chyba że w poleceniu podałeś opcję force ( -f).

Jak zauważa strona, aunpack najpierw wypakowuje

pliki do unikalnego (tymczasowego) katalogu, a następnie przenieś jego zawartość, jeśli to możliwe. Zapobiega to także przypadkowemu zastąpieniu plików lokalnych.


Z innymi narzędziami możliwe są inne akcje, jak wspomniano na stronie podręcznika :

  • apack tworzy archiwa z plików lub folderów określa lub stdin
  • als wyświetla listę plików w określonym archiwum
  • acat umożliwia rozpakowanie plików archiwalnych na standardowe wyjście
  • adiff umożliwia porównanie dwóch wymienionych archiwów
  • arepack umożliwia konwersję jednego formatu archiwum na inny, umieszczając zawartość oryginalnego archiwum w folderze tymczasowym, a następnie ponownie pakując nowy.

Istnieje wiele innych przydatnych opcji dla wszystkich narzędzi, ale prawdopodobnie najczęściej używaną będzie aunpack, ponieważ ułatwia to rozpakowanie wielu różnych archiwów. Wspaniale jest móc wydać tylko jedno polecenie i wyodrębnić wiele różnych formatów archiwów bez konieczności używania różnych poleceń dla tar, zip itp.

Najnowszy artykuł opisujący sposób integracji funkcji atool w niestandardowych działaniach menedżera plików , takich jak Thunar, znajduje się w tym magazynie internetowym .

Społeczność
źródło
3

Istnieje narzędzie o nazwie dtrx- wykonaj właściwą ekstrakcję.

Zainstaluj go z repozytoriów Ubuntu i uruchom dtrx somefile.someext. Narzędzie interaktywnie zapyta użytkownika o zagnieżdżone archiwa (zip plików zip).

dtrx to wyrafinowana wersja ekstraktu Frabjousa .

Jan
źródło
0

Z jakimi formatami musisz sobie radzić? Jednym ze sposobów jest napisanie skryptu powłoki, który sprawdza rozszerzenia swojego argumentu. Lub, jeśli wszystko, z czym masz do czynienia, to zmiany w .tar. *, Po prostu zrobienie tar -xftego zajmie się większością z nich automatycznie. (Dlatego pamiętam tylko to i unzipktóre wystarczają na wszystko, na co zwykle natrafiam).

Ben Kraft
źródło