Directory
非遞歸焦油列表
我有一個 tar 存檔文件,其中包含一個包含大量文件的目錄,我希望僅列出該目錄而不提取它(以盡快知道該目錄的文件名)。
我執行了:
tar -tf filename.tar.gz
當我只需要目錄時,執行輸出遞歸。
我怎麼能“過濾”那個目錄?
tar
要從檔案的頂層獲取所有名稱:tar -tf archive.tar | cut -d '/' -f 1 | sort -u
這將列出存檔的內容,並
/
在每一行中刪除之前的第一位。對結果進行排序並刪除重複項。如果存檔僅包含一個頂級目錄(可能包含文件和子目錄),則結果將是該目錄的名稱。如果頂級名稱包含換行符,則結果將取決於正在使用的實現(您將獲得一個帶有
tar
編碼換行符(來自 BSD 的兩個單獨的字元串)。\n``tar``tar``tar
例子:
$ tar -tf archive.tar README.txt source source/program.c
$ tar -tf archive.tar | cut -d '/' -f 1 | sort -u README.txt source
同樣,如果檔案在其最上層僅包含一個目錄,這將返回其名稱。