テキスト構造に影響を与えずに単語を強調表示

テキスト構造に影響を与えずに単語を強調表示
$cat contents.txt

cat-1.15

cat-1.15

cat-1.15
cat-1.18

上記の出力には空行があります。

$cat contents.txt | grep cat catという単語が強調表示されますが、結果のテキストもマージされ、空白行が削除されます。

cat-1.15
cat-1.15
cat-1.15
cat-1.18

唯一の違いが強調表示されたgrep用語になるように、テキスト構造に影響を与えずにどのように強調表示できますか?

ベストアンサー1

GNU grepを使用すると、オプションでこれを行うことができます-z

-z, --空のデータ

入出力データを一連の行として扱います。各行は改行文字の代わりに0バイト(ASCII NUL文字)で終わります。 -Zまたは--nullオプションと同様に、このオプションはsort -zなどのコマンドと一緒に使用して任意のファイル名を処理できます。

これもウルムチ大学。 grep を使用して入力ファイルを指定できます。

$ grep --color cat contents.txt
cat-1.15
cat-1.15
cat-1.15
cat-1.18
$ grep --color -z cat contents.txt
cat-1.15

cat-1.15

cat-1.15
cat-1.18

おすすめ記事