Ich suche nach einer Methode zum Scannen eines Verzeichnisses (nicht rekursiv) und zum Tarieren unter Verwendung des ursprünglichen Ordnernamens und anschließenden Löschen des Ordners (sodass nur der komprimierte Ordner übrig bleibt). Hat jemand den Befehl dafür?
Antwort1
Ich kann den folgenden Einzeiler vorschlagen (vorausgesetzt, das aktuelle Verzeichnis ist das übergeordnete Verzeichnis der zu sichernden Verzeichnisse):
for f in */; do tar -czf "${f%/}.tar.gz" "$f"; rm -rf "$f"; done
So ändern Sie jeden Ordnernamen in Kleinbuchstaben und ersetzen Leerzeichen durch Unterstriche:
for f in */; do f="${f// /_}"; f="${f,,}"; tar -czf "${f%/}.tar.gz" "$f" && rm -rf "$f"; done_