grepを使用して改行文字を明示的に表示する

grepを使用して改行文字を明示的に表示する

人間が読める方法(行末文字を表示する方法などgrep)でファイルに改行を表示する方法はありますか?vim$:set list

.正規表現でdot()がどのように機能するかを説明しようとしています。最初の説明では、grep --color=auto '.' HBB.fna(画像)のように点だけで構成されたパターンを検索します。この--colorオプションを使用すると、ファイル内の各文字が一致する色で出力に表示されます。しかし、行末文字を明示的に表示することで、いいえマッチ。私が言うこと以来、grep私はそれ以外のものを使用したくありません。

サンプル出力は添付ファイルにあります。繰り返しますが、私が望むのは、行末文字が一致する色ではなく、各行の終わりに表示されることです。

どんな助けでも大変感謝します。

ここに画像の説明を入力してください。

ベストアンサー1

私は以下を使用してcat -A印刷物を後処理grepすることを検討しました。$

ただし、少なくともGNU coreutilscatにはcat -E行末のみが表示されるため、たとえば、次のような結果が表示されます。

$ printf 'foo\nbar\n' | grep --color=always . | cat -E
foo$
bar$

ロゴは$着色されていません。

または、Perlを使用して手動でこれを実行すると、改行文字は次のように置き換えられます<NL>

$ printf 'foo\nbar\n' | grep --color=always . | perl -pe 's/\n/<NL>/'; echo
foo<NL>bar<NL>

繰り返しますが、この<NL>部分は着色されていません。

を使用すると、少なくともNUL区切りモードでは、grep -z改行文字が実際に一致したことを示すために色が割り当てられます。.

同じ色:

ここに画像の説明を入力してください。

grep .上記のように、GNU grepは各個々の文字の前後、つまり一致する各インスタンスの開始と終了で色が変化するエスケープ文字を印刷します。たとえば、より長いシーケンスをgrep '..*'一度に一致させ、より少ないエスケープ文字を取得する変更できます。

おすすめ記事