
Я пытаюсь отобразить шестнадцатеричный дамп файла и выделить возвраты каретки красным. Мне очень трудно понять формат опции форматов (-e).
Это что-то вроде:
hexdump -e "_L[red:0A]" practice_file_1.txt
?
Я медленно решаю головоломку, но, вероятно, я не знаю более высокого уровня знаний, который сделал бы это более понятным, например, синтаксис printf(3) или что-то в этом роде, но я не знаю, что это такое...
И связано ли это вообще с тегом -L? (Нужно ли мне использовать опцию -L?)
Использованная литература:
решение1
Вот краткий пример:
hexdump -f foo.cfg foo.log
и foo.cfg содержит
"%06.6_ao " 12/1 "%3_c_L[red:0x0a] "
"\n"
и результат окрашивается только при записи в терминал (не перенаправлен). Если посмотреть на результат, захватив вывод с помощью script
, то в текстовом редакторе результат будет выглядеть так:
Script started on Fri 04 Nov 2016 09:23:32 PM EDT
000000 f o o ^[[31m \n^[[0m f o o . l o g ^[[31m \n^[[0m^M
000014 s d d m - a u t h 0 2 4^M
000030 0 b f b 3 - a d 0 6 - 4^M
000044 7 0 7 - b a 1 3 - 1 f e^M
000060 0 7 5 9 e a e 7 4 ^[[31m \n^[[0m s d^M
000074 d m - a u t h 0 b 1 9 9^M
000110 b f 5 - c 7 3 4 - 4 5 f^M
000124 f - a 4 8 0 - f 5 a a c^M
000140 e c 3 e 1 b 0 ^[[31m \n^[[0m s d d m^M
000154 - a u t h 4 0 7 1 d 2 1^M
000170 b - 6 0 4 7 - 4 a 8 5 -^M
000204 8 1 3 6 - f 3 8 9 0 d 6^M
000220 a b a d 0 ^[[31m \n^[[0m s d d m - a^M