2013-09-27 30 views
0

我有一個tar文件,裏面有很多csv文件。 有沒有辦法找到每個csv文件中的行數,而無需在linux中解壓縮?如何查找tar文件中的文件行數而不提取

我試圖

for file in $(tar -tf "$tarfile") 
do 
    NL=`wc -l < "$file"` 
done 

但它給錯誤: 「沒有這樣的文件或目錄」。

任何人都可以幫忙。

回答

4

試試這個:

for file in $(tar -tf "$tarfile") 
do 
    NL=$(tar Oxf "$tarfile" "$file" | wc -l) 
done 

Oxf指定的文件提取到標準輸出。

+1

或者'tar -tf「tarfile」|同時讀取文件;做tar -Oxf「$ tarfile」「$ file」| wc -l;完成' – choroba

+0

我用$ tarfile替換了t.tar並試過。但是出現錯誤,說沒有在歸檔文件中找到 tar:由於之前的錯誤而退出失敗狀態 – user1407668

+0

@ user1407668您有GNU tar嗎?運行'tar --version'。 – dogbane

相關問題