同じ行にある2つの単語の一致

同じ行にある2つの単語の一致

私のコマンドは毎回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

関連情報