Re: [問題] shellscript tar問題

看板Linux作者 (司馬雲)時間3年前 (2021/07/31 10:55), 3年前編輯推噓2(201)
留言3則, 3人參與, 3年前最新討論串2/3 (看更多)
請改用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
append 很慢,建議是不要啦 XD
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
也可以用 find ... -exec tar -cf all.tar '{}' +
08/01 13:17, 3F
文章代碼(AID): #1X1Bkp58 (Linux)
討論串 (同標題文章)
文章代碼(AID): #1X1Bkp58 (Linux)