7

次の例を使用して、角かっこを含む「ABC」に一致する行をスキップしながら、「ABC」のみを含む行を除外する必要があります。

2012-04-04 04:13:48,760〜sample1〜ABC [TLE 5332.233 2/13/2032 3320392]:CAST
2012-04-04 04:13:48,761〜sample2〜ABC
2012-04-04 04:13:48,761〜sample3〜XYZ [BAC.CAD.ABC.CLONE 232511]:TEST

これが私が持っているものですが、これまでのところ、角かっこで囲まれた行を正常に除外することはできません。

bash-3.00$ cat Metrics.log | grep -e '[^\[\]]' | grep -i 'ABC'

助けてください?

4

2 に答える 2

3

コメントに基づいて編集:

試すgrep -i 'ABC' Metrics.log | grep -v "[[]" | grep -v "ABC\w"

入力:

2012-04-04 04:13:48,760~sample1~ABC[TLE 5332.233 2/13/2032 3320392]:CAST
2012-04-04 04:13:48,761~sample2~ABC
2012-04-04 04:13:48,761~sample3~XYZ[BAC.CAD.ABC.CLONE 232511]:TEST
2012-04-04 04:13:48,761~sample4~XYZ
2012-04-04 04:13:48,761~sample5~ABCD
2012-04-04 04:13:48,761~sample6~ABC:TEST

出力:

2012-04-04 04:13:48,761~sample2~ABC
2012-04-04 04:13:48,761~sample6~ABC:TEST
于 2012-04-05T14:02:10.130 に答える
1
 $cat log |  grep -v '\[.*\]' | grep ABC
于 2012-04-05T14:22:40.477 に答える