2016-06-11 166 views
1

我正在嘗試讀取xar文件內的文件內容,而不使用命令行解壓縮它們。使用命令行讀取xar文件內的文件內容

當我運行命令,

xar -tf filename.xar | grep -i 'info' 

它列出所有我找的文件。

但是當我嘗試使用閱讀這些文件的內容,

cat `xar -tf filename.xar | grep -i 'info'` 

我得到的錯誤信息說貓:文件名:沒有這樣的文件或目錄

+0

如果XAR像tar然後-t參數代表測試,並且它爲tar文件中的每個文件輸出一行包含一行的字符串。 Grep給你一個包含'info'的名字的子集。您需要使用-x參數實際將文件從tar中移出。但是,如果tar包含子目錄,則-x會將每個文件放入目錄或子目錄中的新文件中。 – Marichyasana

+1

嘗試'xar -x -f filename.xar --to-stdout $(xar -tf filename.xar | grep -i'info')' –

+0

@MarkPlotnick獲取* xar:無法識別的選項'--to-stdout' * – Ishan

回答

0

您的權利,其中跟蹤,但問題是您使用cat來嘗試讀取未從存檔中提取的文件。在閱讀其內容之前,您需要首先提取存檔。使用此代碼提取,然後讀取文件「信息」文件:

xar -xf filename.xar; cat `xar -tf filename.xar | grep -i 'info'` 

希望這有助於:d(ü可以在末尾添加一個代碼刪除添加提取的文件)