1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

App::Greple チュートリアルAdvent Calendar 2021

Day 14

greple #14 カラーオプション(続き)

Last updated at Posted at 2021-12-17

色についてもっと色々

前回は、カラーマップを指定する --colormap オプションと、色の指定の仕方について紹介しました。今回は、色を扱う様々なオプションについて紹介します。

--colormap

greple のカラーマップには、名前付きカラーと、インデックスカラーの2種類があり、どちらも --colormap (--cm) オプションで設定することができました。今回紹介するのは、マッチしたパターンをハイライトするために使用されるインデックスカラーに関するものです。

--regioncolor, --rc

以前に、複数の検索範囲を指定すると、それぞれの領域に別の色が割り当てられる例を紹介しました。

greple -n --inside '^\S+' --outside '^\S+' '[ー\p{Katakana}]+' sushi.txt 

image.png

しかし、複数の検索ワードが指定されている場合、次のようにそれぞれのパターンに別の色が割り当てられます。

image.png

--regioncolor (--rc) オプションは、領域による色分けを強制するものです。

image.png

--uniqcolor, --uc

次のようにすると、全部の寿しネタを抜き出すことができます。

greple -n --outside '^\S+' '\S+' sushi.txt

image.png

--uniqcolor (--uc) オプションを使うと、マッチした文字列に固有の色を割り当てて、わかりやすく表示することができます。

greple -n --outside '^\S+' '\S+' sushi.txt --uc

image.png

--colorindex, --ci

--colorindex (--ci) は、インデックスカラーを適用するアルゴリズムを指定するオプションで、次のパラメータを取ります。

記号 意味
A Ascend
D Descend
R Random
B Block

Ascend (昇順)

--uc=A オプションを指定すると、それぞれのマッチに順番に色を割り当てていきます。

image.png

--cm オプションで2つの色を指定して、それを交互に適用することもできます。

image.png

Ascend/Block (昇順/ブロック)

--uc=AB のように B (ブロック) を指定すると、各ブロック毎に順序をリセットするようにようになります。

image.png

なんの役に立つのかと思うかもしれませんが、こんな使い方はいかがでしょう。

sed /^#/d /etc/passwd | head | greple '[^:\n]+' --ci=AB

image.png

Descend (降順)

image.png

Random (ランダム)

ランダムは、文字通りランダムに色を割り当てます。

image.png

これも何の役に立つのかと言われると困るのですが、意匠的には面白い効果を得ることができます。

image.png

まとめ

今回は、インデックスカラーの適用方法について説明しました。途中説明を省略していますが、--face というオプションはすべてのインデックスカラーに対して効果を適用するオプションです。行末まで背景色を適用する E と組み合わせると、面白い効果が得られます。

SEE ALSO

  1. https://qiita.com/kaz-utashiro/items/5b6bcbe54891b3bd9db5
  2. https://qiita.com/kaz-utashiro/items/eb8c7067e6de34842fe3
  3. https://qiita.com/kaz-utashiro/items/165e744d4250adedc4c1
  4. https://qiita.com/kaz-utashiro/items/439e6abcecf36c520703
  5. https://qiita.com/kaz-utashiro/items/24ac0b8fdd30b598e069
  6. https://qiita.com/kaz-utashiro/items/a1ba4e3d07cf37dc25e3
  7. https://qiita.com/kaz-utashiro/items/0c8c944c17a72724b771
  8. https://qiita.com/kaz-utashiro/items/8783c2fd0cc4315b9a3d
  9. https://qiita.com/kaz-utashiro/items/84f5a6be6bf996076c64
  10. https://qiita.com/kaz-utashiro/items/ebc7ea99f800cfc8c90c
  11. https://qiita.com/kaz-utashiro/items/25a14e75380c39b5e0af
  12. https://qiita.com/kaz-utashiro/items/ebbeb8a5538a15ff04fc
  13. https://qiita.com/kaz-utashiro/items/b265deef9c9b1953a414
  14. https://qiita.com/kaz-utashiro/items/2b20e0226cffde213ce0 ←イマココ
  15. https://qiita.com/kaz-utashiro/items/16b5142ef7a89aa35380
  16. https://qiita.com/kaz-utashiro/items/d19fe5ee859f31ce172c
  17. https://qiita.com/kaz-utashiro/items/09a5f5cf08ce314e2add
  18. https://qiita.com/kaz-utashiro/items/6e4b1f51455e587ef743
  19. https://qiita.com/kaz-utashiro/items/010f141f17e855aab4fc
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?