私のコマンドは毎回2行を印刷します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
2つの単語を一致させたい。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