英数字パターンを除くすべてをどのように削除しますか?

英数字パターンを除くすべてをどのように削除しますか?

私のファイルにはジャンク文字と特殊文字もたくさん含まれています。特定の英数字パターンを維持し、他のすべてを無視したいです(例:AB123456789)。 2文字の「AB」の後に9つの数字が続くこのキーワードだけを抽出したいと思います。

サンプル入力:

[{"u_affected_cis":"m324nkj43nkj3n4kj34n","number":"hhggjjiiijjjf","akdsfj_skdfj":"","as_group":"1,324kj3k4j3k4jk34","or" stage":"gfhgh","cmdb_ci":"0989iujlkj","u_benefit_organization":"","u_creating_group":"luiy98798yukuh","work_notes_list":"","priority":"4","u_tier4_loca ","re​​view_date":"","u_mf_batch_inst_opdoc_move":"","u_requesting_group":"kjhljlkjhlkuh098709kjh","business_duration":"","number":"AB123456789","re​​quested_by":tgfgtf878789khgo7869876ff9007da158c","u_temp","change_plan":"","asd_def":"2023-02-10 11:58:21","description_plan":"implementation_plan" ","u_alternate_programmer_work_number":"","work_start":"","u_signment_group_updated":"","yy_uhggfjk":"","fds":"change_request","close_by":"abcdef"," start_date": 「2023-02-10」}]

サンプル出力:

AB123456789

ベストアンサー1

実際の入力が有効なJSONの場合は、jqなどのJSON認識ツールを使用する方が良いでしょう。

jq -r '.[0].number'.

(発行された入力は二重引用符が欠けており、キーの1つに値が付加されていないため、有効なJSONではないため、「if」と言います。質問を準備するときに破損が発生したようです。)

おすすめ記事