キーと値のペアを切り取る

キーと値のペアを切り取る

cutCSVファイルで指定された列をトリミングするために使用できる方法など、テキスト内のキーと値のペア(キーが一意で指定されている)をトリミングする簡単な方法を探しています。私が探しているキーが行内で常に同じ相対位置にあるわけではありません。つまり、私が探しているキーは常に同じ区切り列にないため、cut末尾のキーを使用してもsed機能しません,

問題のテキストは実際にCSVですが、値が.で終わるキー/値のペアである場合が発生します=

たとえば、次の3行でファイルを解析できます。

Foo=1, Bar=2, Baz=3
Bar=4, Foo=2, Baz=3
Bar=42, Baz=42, Foo=3

特定のキーのキーと値のペアを生成するためにこのテキストを切り取りたいと思います。これが私が探しているものであれば、Foo私が望む結果は次のとおりです。

Foo=1
Foo=2
Foo=3

cut理想的には、同様の構文を持ち、標準入力とファイルから読み取ることができるコマンドラインツールが必要です。

そのようなツールがありますか?

ベストアンサー1

grep-oこれは次のオプションを使用して実行できます。

grep -o 'Foo=[^,]*' file

おすすめ記事