sed はいくつかのテキストを一致させ、ラップします。

sed はいくつかのテキストを一致させ、ラップします。

最大10個のマーカーを視覚化しようとしていますが、仮想データソースがビューアであり、ビューアーである新しい行の65 72 62 65シーケンスの後に少なくとも1つのマーカーを視覚化しようとしています。パスワードhexdump -v /usr/bin/telnetless

hexdump -v /usr/bin/telnet                        \
  | sed 's/65 72 62 65[a-z0-9]\{1,10\}/&...\n/g'  \
                                                  \
  | less -s -M +Gg

失敗した出力は次のようになり、入力の先頭を含みます。一方、最初の一致で始まり、その後の改行の次の一致まで数文字を含める必要があります。

0000000 cf fa ed fe 07 00 00 01 03 00 00 80 02 00 00 00
...

希望の出力

65 72 62 65 000edf0 72 ...
65 72 62 65 72 6f 73 20 56 ...
65 72 62 65 72 6f 73 20 56 ...
...

改行文字で一致とその後の一部のテキストのみを視覚化する方法は?

ベストアンサー1

文字列内の一致部分のみを印刷するには、目的の文字列の前後のすべての項目に一致する文字列を使用してそれを文字列に置き換えることができます。

 sed 's/.*\(65 72 62 65 .\{1,10\}\).*/\1.../'

おすすめ記事