.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
これにより、ファイル名から最後のスラッシュまですべての内容が削除されます。