簡體   English   中英

使用7zip解壓縮Unix中壓縮的文件

[英]Unzip a file zipped in Unix using 7zip

我的目標是將Unix進程創建的文件作為excel文件發送給自己。 所以我用下面的命令來實現它。

tr -d '\t' < PROGRAM_CREATED_FILE | sed -e 's/\\//g' | awk 'BEGIN{FS=">"; OFS="\t"} '{$1=$1}1' > file.xls
gzip -9 file.xls
echo "test mail" | sendxchange -a "file.xls.gz" -s "Report" my_mail_id

收到郵箱中的文件后,我將其保存在Windows計算機中。 我嘗試使用7zip提取存檔。 它嘗試提取並在file.xls中顯示數據錯誤。 文件損壞

需要幫助。

謝謝

您的壓縮文件是二進制文件,而不是Mail希望發送的ASCII文件。 您可以在發送之前對其base64-encode uuencodebase64-encode ,如下所示:

gzip -9 < file.xls | uuencode -m file.xls.gz > file.xls.gz
... sendxchange -a "file.xls.gz" ...

使用上面的-m base64編碼,而將其uuencoding導致uuencoding

在Windows端,您將需要再次解碼文件-您可以使用Microsoft的certutil工具(如果使用base64編碼)或SourceForge的Unix實用程序對其進行解碼。

通過FTP傳輸時,請務必先設置BIN模式,否則您可能會以ASCII模式傳輸,這對二進制文件不利,因為它將某些行尾字符轉換為愚蠢的Windows CR / LF組合,並且可能會出現在二進制文件中得到轉換-這不是您想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM