=記号の後の値を見つけるためにgrepする方法

=記号の後の値を見つけるためにgrepする方法

可能なすべての値を見つけるためにgrepを指定する方法

つまり、次のファイルを使用してください(9701どんな値でも可能です)。

9701=1?? 
9701=10.Pp 
9701=1a 8a 
9701=3.a_tt 
9701=1/a -00
9701=Bg1998pps

私が試すことができます

egrep -Eo '9701=[A-Z]+[a-z]+[0-9]{1,50}' test.log

これは大文字/小文字と数値のみを提供します。 grepリクエストに特殊文字を含む値を含める方法は?つまり、スペース、ドット、ハイフン、アンダースコアなどを使用します。

ベストアンサー1

cut -d '=' -f 2-  data.in

これにより、各行が複数の別々のフィールドとして処理され、=最初のフィールド以降のすべての項目が返されます。

出力:

1??
10.Pp
1a 8a
3.a_tt
1/a -00
Bg1998pps

行の最初の部分に関連するコンテンツのみを返す必要がある場合(9701あなたの場合):

grep '^9701=' data.in | cut -d '=' -f 2-

または全体の内容は次のとおりですawk

awk -F '=' '$1 == "9701" { sub(/^[^=]+=/,""); print }' data.in

これは、最初の区切り文字フィールドの文字列比較を実行し=て関心のあるレコードを見つけ、最初のフィールドと=区切り文字を削除して残りの内容を出力します。

おすすめ記事