給未來的裕翔
如果想要找header檔
locate .h一定會跑出很多不要的東西
建議搭配regexp, -r
locate -r \.h
這樣會有問題, 要加引號, 單引號雙引號皆可
問題的來源我猜是反斜線被shell用, 而不是regexp, 不過沒特地去驗證
locate -r '\h'
這樣會有問題, .html檔也會被找出來, 要加行尾符號, $
locate -r '\h$'
這樣會有問題, 副檔名hpp的也是header檔, 要標示p的存在可能
locate -r '\hp*$'
這樣應該就沒問題了^^
如果我只要找/home/bob/Downloads/OpenCV-2.0.0底下的header檔
locate -r '\.hp*$' | grep '/home/bob/Downloads/OpenCV-2.0.0'
如果我想看哪些header檔內容定義我要的關鍵字, ex: lrint
grep lrint $(locate -r '\.hp*$' | \grep '/home/bob/Downloads/OpenCV-2.0.0' ) | grep def
(定義可能是typedef或define, 所以我在最後加grep def)
注意: 上例如果沒有前面的\.
那所有檔案或路徑還有h的都會被找出來
因為p*是可不存在的
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment