Re: [問題] shellscript tar問題
請改用xargs
find /home/ray/photo -type d -name "202107*" |xargs tar -czvPf /home/ray/photo2
/202107.tar.gz
你用exec的話,他是每找到一筆就會做一次tar的動作,這會把之前的壓縮覆檔蓋掉
所以你解出來的檔案應該是只有最後一筆找到的資料
xargs則是把你find找到的所有檔案做為tar的輸入,所以會一次壓縮全部找到的檔案
其實你可以試試 -exec echo {} \;跟xargs echo來比較結果就知道了
如果一定要用-exec,那加上--apend或-r的參數,讓每次壓縮時都放在原本壓縮檔的檔尾
這應該也行,但我沒試過XD
※ 引述《raynoz (Raynoz)》之銘言:
: 最近公司丟一個寫Script的工作給我這個完全沒碰過的人....
: 是這樣的...
: 我在/home/ray/photo路徑下放了3個資料夾,分別是20210811、20210701跟20210715
: 而我想要把20210701跟20210715兩個資料夾打包放到/home/ray/photo2並命名為202107
: 我的寫法是
: find /home/ray/photo -type d -name "202107*" -exec tar -czvPf /home/ray/photo2/202107.tar.gz "{}" \;
: 打包時會顯示兩個資料夾都有包進去
: 但是用tar -zxvf解開後只會解一個出來...
: 想問問看是哪裡出問題
: 另外想問問如何打包但不包含路徑
: 先感謝大家了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.46.215 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1627700147.A.148.html
推
07/31 12:09,
3年前
, 1F
07/31 12:09, 1F
所以才說如果一定要-exec的話XD
※ 編輯: filiaslayers (220.133.46.215 臺灣), 07/31/2021 13:02:15
→
07/31 23:44,
3年前
, 2F
07/31 23:44, 2F
推
08/01 13:17,
3年前
, 3F
08/01 13:17, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章