/ / Jak rozpakować wiele ścieżek do folderu nazw plików w terminalu - linux, tar

Jak rozpakować wielokrotne tary do swojego folderu nazw w terminalu - linux, tar

Na przykład mam 1000 plików tar. (n0001.tar ~ n1000.tar) Chcę rozpakować każdy plik w każdej nazwie pliku. (zawartość n0001.tar w folderze n0001 /)

Jak mogę to zrobić w jednym poleceniu terminalu?

Zakładam, że to polecenie można zmodyfikować.

for F in alcatelS*.tar; do
tar -xvf "$F"
done

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz użyć rozszerzenia parametrów, aby usunąć rozszerzenie z nazwy pliku:

for F in alcatelS*.tar; do
dir=${F%.tar}
( mkdir "$dir" && cd "$dir" && tar -xvf ../"$F" )
done

The cd dzieje się w podpowłoce (...) aby katalog roboczy nie został zmieniony dla pętli.