コマンド出力でパターンを強調表示する(grepに似ていますが行を除外しません)

コマンド出力でパターンを強調表示する(grepに似ていますが行を除外しません)

特定のコマンドの出力で特定のシンボルシーケンスの色を指定するコマンドが必要です。欲しいです。そのままだgrep

$ some-command | grep symbol-sequence

ただし、grep含まれていない行は削除されますsymbol-sequence。すべての元の行を強調表示したいですsymbol-sequence。どうすればいいですか?


私はalias grep='grep --color=auto'そこにいる~/.bashrc

ベストアンサー1

あなたはそれを使用することができますANSI制御文字:

some-command | sed 's/symbol-sequence/^[[0;32;2m symbol-sequence^[[0;0m/'

これらの文字は、一般文字の後に一般文字が続くものでは^[ありません。印刷できない文字です。ほとんどの端末に入力して入手できます。二つ目は本当です。^[Ctrl-v Ctrl-Esc[[

ASCII全体を好む場合、同じ効果を持つコピー/貼り付けバージョンは次のとおりです。

some-command | sed 's/symbol-sequence/\x1B[0;32;2m symbol-sequence\x1B[0;0m/'

上記のコマンドで「32」と「2」を変更することで、出力の色やスタイルを変更できます。詳細とカラーコードを表示するには、検索エンジンで「ANSIエスケープシーケンス」を参照してください。

おすすめ記事