Bash
提取文件到目前目錄
我想找到並 tar/歸檔我所有以 .sh 結尾的腳本,所以我寫了這樣的東西:
touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \;
問題是,在我創建了一個名為 archive.tar 的檔案後,檔案不會將文件解壓到目前目錄,而是解壓到它被存檔的目錄。例如,可以呼叫存檔腳本,
~/Desktop/wtf/delete.sh
但它將被提取到文件夾wtf
而不是我目前所在的目前目錄中。那麼如何編輯我的查找腳本以使所有腳本都採用 ./filename.sh 格式?
假設您正在使用
GNU tar
,您可以說:tar --transform 's/.*\///' -xzf archive.tgz
這將從文件名中刪除所有內容,直到最後一個斜杠。