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