2017-06-30 53 views
-1

我是Linux新手,我試圖在.bz2文件中查找ID號。看起來像一個相當直接的要求,但我無法在任何地方在網上找到正確的命令。我相信我需要使用bzgrep。在.bz2文件中搜索ID的命令是什麼?

我想要的文件Bulk9876.bz2

我將如何構建這個命令來尋找「123456」?

+0

你試過'bzgrep 123456 Bulk9876.bz2'嗎? – twalberg

+0

是的,它不返回任何東西,但是如果我做bzgrep 9876 Bulk9876.bz2(或文件名中的東西),則返回: **二進制文件(標準輸入)匹配**。 我不認爲它實際上是在文件內搜索。 –

+0

那麼看起來你有一個非標準版本的'bzgrep',或者你有一個別名/函數/腳本來掩蓋真正的版本。 'type bzgrep'告訴你什麼? – twalberg

回答

0

你可能只需要告訴grep的,它的好來分析這些數據作爲文本:

bzgrep -a 123456 Bulk9876.bz2 

如果你想查看的壓縮數據(而不是其解壓縮並將搜索解壓縮數據)只需使用grep -a …

否則,驗證所需的字符串是否存在於文件中可能是有意義的; bunzip2它和grep -a解壓縮的文件。如果可行,問題出現在你的bzgrep實例中(這很奇怪,因爲它應該使用與bunzip2相同的解壓縮庫)。

+0

此命令未返回任何內容,並且我無法獲取該文件以將其解壓縮。我訪問受限。 –

+0

你無法讀取文件?我沒有跟隨。 'ls -lh Bulk9876.bz2的輸出是什麼? id'?如果bzgrep命令根本沒有輸出,這意味着它成功地掃描了文件並且未能找到給定的模式('123456')。可以肯定的是,在該命令之後運行'echo $?'。我期待'1'的響應,但更高的數字意味着有錯誤(並且「0」意味着有匹配)。 –