Bash

提取文件到目前目錄

  • May 18, 2016

我想找到並 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

這將從文件名中刪除所有內容,直到最後一個斜杠。

引用自:https://unix.stackexchange.com/questions/283751