いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

grepの結果で行ではなくヒットした部分のみを出力 (-o, --only-matching)

概要

以下、よく忘れるので自分用のメモです。

grepコマンドの結果は基本的に条件にヒットした「行」が出力されます。

gitpod /workspace/try-linux $ echo 'golang java csharp rust javascript python' | grep -E '[^ ]{6,}'
golang java csharp rust javascript python

ここで、-o オプションを付与すると、「ヒットした箇所のみ」が出力されます。

gitpod /workspace/try-linux $ echo 'golang java csharp rust javascript python' | grep -o -E '[^ ]{6,}'
golang
csharp
javascript
python

このオプション、ヒット箇所が一個ずつ出力されるので、各行の中にあるパターンをそれぞれ抽出して、それをパイプとかに流せるので、結構便利です。

gitpod /workspace/try-linux $ echo 'golang java csharp rust javascript python' | grep -o -E '[^ ]{6,}' | sort | tr '[:lower:]' '[:upper:]'
CSHARP
GOLANG
JAVASCRIPT
PYTHON

参考情報

linuxjm.osdn.jp

github.com

github.com


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com