Zum Beispiel habe ich 1000 TAR-Dateien. (n0001.tar ~ n1000.tar) Ich möchte jede Datei in jedem Dateinamen entpacken. (n0001.tar Inhalt in n0001 / Ordner)
Wie kann ich das in einem Terminalbefehl tun?
Ich gehe davon aus, dass dieser Befehl geändert werden kann.
for F in alcatelS*.tar; do
tar -xvf "$F"
done
Antworten:
0 für die Antwort № 1Mit der Parametererweiterung können Sie die Erweiterung aus dem Dateinamen entfernen:
for F in alcatelS*.tar; do
dir=${F%.tar}
( mkdir "$dir" && cd "$dir" && tar -xvf ../"$F" )
done
Das cd
passiert in einer Unterschale (...)
damit das Arbeitsverzeichnis für die Schleife nicht geändert wird.