現在のディレクトリにファイルを解凍する

現在のディレクトリにファイルを解凍する

.shで終わるすべてのスクリプトを見つけて圧縮/保存したいので、次のように書いています。

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

問題は、archive.tarというアーカイブを作成した後、そのアーカイブがファイルを現在のディレクトリに抽出せず、ファイルをアーカイブされたディレクトリに抽出することです。たとえば、アーカイブスクリプトを呼び出すことはできますが、現在存在している現在のディレクトリではなくフォルダに~/Desktop/wtf/delete.sh抽出されます。wtfそれでは、すべてのスクリプトが./filename.sh形式になるように検索スクリプトをどのように編集できますか?

答え1

を使用すると仮定すると、次のようにGNU tar言うことができます。

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

これにより、ファイル名から最後のスラッシュまですべての内容が削除されます。

関連情報