Extrahieren von Dateien in das aktuelle Verzeichnis

Extrahieren von Dateien in das aktuelle Verzeichnis

Ich möchte alle meine Skripte mit der Endung .sh finden und tarnen/archivieren, also habe ich so etwas geschrieben:

touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \; 

Das Problem ist, dass das Archiv, nachdem ich ein Archiv mit dem Namen archive.tar erstellt habe, die Dateien nicht in das aktuelle Verzeichnis entpackt, sondern in die Verzeichnisse, aus denen es archiviert wurde. Beispielsweise kann ein archiviertes Skript mit dem Namen „archiviert“ werden, ~/Desktop/wtf/delete.shaber es wird in einen Ordner entpackt wtfund nicht in das aktuelle Verzeichnis, in dem ich mich gerade befinde. Wie bearbeite ich also mein Suchskript, damit alle Skripte das Format ./Dateiname.sh haben?

Antwort1

Angenommen, Sie verwenden GNU tar, können Sie sagen:

tar --transform 's/.*\///' -xzf archive.tgz

Dadurch wird alles bis zum letzten Schrägstrich aus den Dateinamen entfernt.

verwandte Informationen