2016-01-18 32 views
0

我在Linux機器中有一個二進制文件的值:AB=^]^]是一個空值),AB = N和AB = Y。我想要得到文件中AB=^]的出現次數。grep在Linux中的二進制文件中的空值

我使用下面的命令:

zcat Logfile|grep 'AB=^]' |wc -l 

,但它給數0上面的命令工作正常,AB = N和Y所以我想我正在尋找錯誤的花樣,我應該怎麼搜索如果不是AB=^]

輸出用於上述命令:

gzip: Logfile: unexpected end of file 

0 

這裏0表示標籤AB = ^]的出現

+0

是什麼'colortracer.pl'與輸出呢?你可以將它連接到'xxd'的'cat -v'並在這裏添加輸出嗎? – choroba

+0

我編輯了這個問題.even沒有使用colortracer.pl這個命令完全按照預期工作,它只給出了一個帶有高亮部分的彩色輸出 –

+0

在二進制文件中'^]是兩個文字字符嗎?或者它是單個角色? –

回答

0

基本上被刪除的答案應該工作的數目。除了逃避^]你的正則表達式,你也可以使用他們的十六進制表示:

grep -o 'AB='$'\x5E'$'\x5D' file | wc -l 
+0

我試過這個:grep -o'AB ='$'\ x5E'$'\ x5D'日誌文件| wc -l,但仍然計數0 –

+0

然後你沒有正確描述你的問題。沒有魔法,如果文本包含序列「AB = ^」,它將起作用,否則文本不包含該序列。使用十六進制編輯器,您應該能夠發現它。 – hek2mgl