[英]Decompressor using Shell Scripting
我正在嘗試在gzip之上制作壓縮器和解壓縮器。 添加我的邏輯后,在壓縮器中我將文件打包,然后壓縮結果並將其另存為* .abc
pax -w $allfiles > $paxfile
gzip $paxfile > $zippedfile
在解壓縮器中,我必須先將其解壓縮,因為在* .abc上解壓縮不起作用,我將文件重命名為file.gz,然后將結果存儲在file.pax中。 然后我嘗試pax閱讀它。
i=$(echo $filename | cut -d'.' -f1)
echo $i
ip=$i.gz
mv "$filename" "$ip"
op=$i.pax
gunzip -f < $ip > $op | pax -r
請幫忙。 我對做錯事一無所知。 我得到的錯誤是
pax: End of archive volume 1 reached
ATTENTION! pax archive volume change required.
Ready for archive volume: 1
Input archive name or "." to quit pax.
Archive name >
pax -r期間我做錯什么了嗎?
您可以避免創建中間文件,並通過以下方式實現您想要的(我想)。
壓縮:
pax -w $allfiles | gzip - > $zippedfile
從標准輸入(即管道)讀取的“-”代表“。”
然后解壓縮:
gunzip -c -d $ip | pax -r
“ -c”代表“寫入標准輸出”,“-d”代表“解壓縮”(可能不需要)。
嗨,我解決了我的問題。 文件名和擴展名存在問題。 我沒有提取它們並正確地傳送到* .gz。 我更改並修改了這些文件,所以現在我解壓縮正確的文件,然后將其讀入pax。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.