因此,當幫助某人調試某些代碼時,我意識到他們的輸出中有一些奇怪的字符,即 和 (十六進制中的\ xc0和\ xd0)。如何使用十六進制表示grep特殊字符(控制字符)
我想在一個大的文本輸出文件中找到這些字符。
我設法找到這些字符使用崇高找到正則表達式選項查找與\xc0
或\xd0
查詢。我也通過在bash中執行grep $'\xc0' filename
來設法達到grep
。
現在困擾我的是,如果我使用-P
選項grep
,它拒絕找到這些字符。
grep -P "\xc0" filename
將打印出沒有任何文件,其中有該字符(和上面的其他兩種方法可以成功找到它),這是在煩擾我如此糟糕,我想知道爲什麼這不起作用。
我看過一對夫婦的其他職位,其中有"[\x80-\xff]"
沿-P
選項的建議,但由於某種原因,我不能讓他們的工作:\
grep -P
一直是很好的朋友了很久時間到現在爲止:(任何幫助和提示是讚賞
我使用GNU grep的
編輯:!
我公頃實際上我已經嘗試了2個Linux發行版。
- 在Ubuntu 14.04使用bash:我的終端似乎並不喜歡這個角色:\
printf "\xc0"
打印出沒有在終端,但它打印到文件與>
,然後在打開崇高將顯示角色。
printf "\xc0" > foo
grep $'\xc0' foo > out1
grep -P '\xc0' foo > out2
grep -P '\x{c0}' foo > out3
out{1,2,3}
都是空的。
- 在CentOS 7.2使用bash:
printf
打印的東西 - 問號黑暗啄
printf "\xc0"
打印出來(其實是這樣的)
printf "\xc0" > foo
grep $'\xc0' foo > out1
grep -P '\xc0' foo > out2
grep -P '\x{c0}' foo > out3
只有out1
包含字符。
我可能聽起來很生氣,不願意在原文中學習,但我很想學習:)可能有一些與'grep -P'有關的警告我不知道,我會很樂意找到了解它:) – a283626086
'我只是無法讓他們工作'?你看到了什麼錯誤? – Inian
你試過'grep -P「\ x {c0}」文件名「嗎?甚至是「\ x {00c0}」'? –