2014-10-09 2 views

ответ

2
  1. Для печати байтового смещения всех линий

    grep --byte-offset "." filename 
    
  2. Для печати смещения байта конкретного слова

    grep --byte-offset "word" filename 
    
+1

В # 1: печатает смещение байтов строк _non-empty_. В противном случае используйте 'grep -byte-offset '' filename', чтобы получить все строки. –

+0

Обратите внимание, что это расширение GNU 'grep' по сравнению с POSIX' grep', хотя BSD (Mac OS X) 'grep' также поддерживает его. –

+0

Спасибо за редактирование gniourf. Я буду следить за всеми случаями в будущем :). – dev0

0
awk '{ printf("%4i: %s\n",c,$0); c+=length($0)+1 }' filename 

Или конкретное слово

awk '{ if($1 == "Specific Word") printf("%4i: %s\n",c,$0); c+=length($0)+1}' testa 

Извините за codestyle, но терминальная одна строка не может быть отформатирована.

+0

Не отвечает OP, поскольку он не отображает смещение байта, но смещение символа! –

Смежные вопросы