[解決済み] Colorized grep -- マッチをハイライトしてファイル全体を表示する
2022-03-16 12:55:01
質問
私は
grep
's
--color=always
フラグは非常に便利です。しかし、grepは(文脈行を要求しない限り)マッチした行だけを表示します。表示される各行がマッチしていることを考えると、ハイライトはそれほど多くの機能を追加するものではありません。
本当は
cat
をクリックすると、パターンマッチがハイライトされたファイル全体が表示されます。
マッチするかどうかに関係なく、読み込まれたすべての行を表示するように grep に指示する方法はありますか?ファイルのすべての行に対して grep を実行するスクリプトを書くことができるのは知っていますが、これが標準の
grep
.
解決方法は?
ここでは、その方法をご紹介します。
grep --color 'pattern\|$' file
grep --color -E 'pattern|$' file
egrep --color 'pattern|$' file
は
|
記号はOR演算子です。この記号をエスケープするには
\
を付けるか、-Eを付けて検索テキストが正規表現として解釈されることをgrepに伝えるか、あるいは
egrep
コマンドの代わりに
grep
.
検索テキスト "pattern|$"は実はトリックで、以下のような行にマッチします。
pattern
または末尾を持つ行。すべての行に終端があるので、すべての行にマッチしますが、行の終端は実際には何の文字でもないので、色はつきません。
また、色のついた部分をパイプに通すには、例えば、次のようにします。
less
を指定します。
always
パラメータを
--color
:
grep --color=always 'pattern\|$' file | less -r
grep --color=always -E 'pattern|$' file | less -r
egrep --color=always 'pattern|$' file | less -r
関連
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] bash : cd : 引数が多すぎる [閉店].
-
[解決済み] OS X で 'find' コマンドを使用して 'sed' を使用するとエラーが発生する。"無効なコマンドコードです。"
-
[解決済み] ファイルを grep して、その周辺の行をいくつか表示する?
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] Gitの履歴からコミットしたコードをgrep(検索)する方法
-
[解決済み] grepで1つの単語を除外するにはどうすればよいですか?
-
[解決済み】特定の拡張子を持つファイルのみを再帰的にgrepするにはどうすればよいですか?
-
[解決済み】ASCII以外の文字をすべてgrepする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bashのシンタックスエラー:予期しないファイルの終わり
-
[解決済み] テスト
-
[解決済み] 部分的にコピーされたファイルでscpを再開する方法は?[クローズド]です。
-
[解決済み] Homebrewは最新ですが、`could not link` + `delete path` のエラーは気にしなくていいのでしょうか?
-
[解決済み] (standard_in) 1: bash スクリプトのシンタックスエラー
-
[解決済み] echoコマンドでパイピングが効かない [重複]。
-
[解決済み] パイプと二重パイプのどちらの OR 演算子を使うか?
-
[解決済み] シェルスクリプトで整数式が期待されるエラー
-
[解決済み] 環境変数を表示/エコーするには?
-
[解決済み】grepと同様にテキストをハイライトするが、テキストをフィルタリングしない [duplicate]