[英]Grep string in a file containing colon
我在多行文件中有以下字符串
.....<other lines>
-classpath "${ROOT}/abcjars/*:${ROOT}/lib/*" \
.....<otherlines>
我想檢查文件中是否存在類路徑行
如果我嘗試遵循 grep 命令它可以正常工作,
grep '\-classpath \"${ROOT}/abcjars/*' $File
但是如果我在搜索模式中添加冒號 (:) 它就不起作用
grep '\-classpath \"${ROOT}/abcjars/*:' $File
我想 grep 並檢查整行是否存在。 可能嗎?
謝謝
在正則表達式中, *
有特殊含義,表示匹配前面的字符零次或多次。 但是在您的文件中,您沒有:
緊跟在/
序列之后(因為*
在它們之間),所以它不匹配。
您沒有進行任何正則表達式模式匹配,因此您應該使用-F
選項來指定這是一個固定字符串。
grep -F -e '-classpath "${ROOT}/abcjars/*:' $File
需要-e
選項以允許以-
開頭的搜索字符串,否則搜索字符串將被視為一個選項。
使用 escaping 字符
grep '\-classpath \"${ROOT}/abcjars/\*:' $File
如果仍然是同樣的問題,請嘗試使用 grep 正則表達式標志
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.