在尝试grep查找包含点的字符串时,我无法获得完全匹配的字符串作为输出.
例如: grep "APPLICATION.REFERENCE.LOCAL" <FILENAME>
我甚至尝试过:
grep -F 'APPLICATION.REFERENCE.LOCAL' <FILENAME>它还显示类似匹配的行APPLICATION.REFERENCE.LOCAL1.
请帮我.
由于您正在使用-F将模式解释为固定字符串,因此您需要提供-x与整行完全匹配的选项.
grep -Fx 'APPLICATION.REFERENCE.LOCAL' filename
Run Code Online (Sandbox Code Playgroud)
来自man grep:
-F, --fixed-strings
Interpret PATTERN as a list of fixed strings, separated by
newlines, any of which is to be matched. (-F is specified by
POSIX.)
-x, --line-regexp
Select only those matches that exactly match the whole line.
(-x is specified by POSIX.)
Run Code Online (Sandbox Code Playgroud)
例:
$ cat file
APPLICATION.REFERENCE.LOCAL
1APPLICATION.REFERENCE.LOCAL
APPLICATION.REFERENCE.LOCAL1
APPLICATION.REFERENCE0LOCAL
$ grep -Fx 'APPLICATION.REFERENCE.LOCAL' file
APPLICATION.REFERENCE.LOCAL
Run Code Online (Sandbox Code Playgroud)
你需要用反斜杠转义点:
grep 'APPLICATION\.REFERENCE\.LOCAL'
Run Code Online (Sandbox Code Playgroud)
如果你想在行中“只和这个”,你需要用“字符串的开头和结尾”字符来锚定:
grep '^APPLICATION\.REFERENCE\.LOCAL$'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |