내 명령은 매번 두 줄을 인쇄합니다FW_6.0.0찾았습니다. 코드는 다음과 같습니다.
grep -oP 'FW_6.0.0, (.*)$' file
아래는 출력이며 둘 다 동일한 값을 갖습니다.FW_6.0.0
FW_6.0.0, SUCCESS
FW_6.0.0, OK
두 단어를 일치시키고 싶습니다.FW_6.0.0그리고성공이는 인쇄와 동일한 줄에서 찾을 수 있습니다.
FW_6.0.0, SUCCESS
제거하고FW_6.0.0, OK
답변1
큰따옴표를 사용해 보세요 ""
.
grep -oP "FW_6.0.0, SUCCESS" file
또는(패턴이 아닌 고정 문자열이기 때문에):
grep -oF "FW_6.0.0, SUCCESS" file
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.)
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression. This is highly
experimental and grep -P may warn of unimplemented features.
답변2
사용하고 싶은 경우 awk
:
awk '/FW_6\.0\.0/ && /SUCCESS/' file
답변3
노력하다:
grep -o 'FW_6.0.0.*SUCCESS' file
-P
여기에는 옵션이 필요하지 않습니다.
답변4
sed를 통해,
$ sed -n '/FW_6\.0\.0.*SUCCESS/p' file
FW_6.0.0, SUCCESS