enter image description hereнайти и заменить точное соответствие шестигранник на нескольких линиях
0070 41 67 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 2f 34
0080 2e 30 20 28 63 6f 6d 70 61 74 69 62 6c 65 3b 20
Я пытаюсь найти способ, чтобы найти/матч шаблон
2f 34 2e 30 20 28 63 6f
и заменить его
2f 35 2e 30 20 28 68 63
Проблема в том, что этот шаблон может быть разбит на две строки различными способами, например 2f 34 2e 30 20
может быть в конце первой строки, а затем остальной шаблон на следующей строке. Я хочу узнать, как я могу найти замену других (больших) шаблонов.
Этот код работает только в том случае, если шаблон полностью содержится в одной строке.
# replace hex equivalent of "/4.0 (co" with "/5.0 (hc" in hex field
sed 's/2f 34 2e 30 20 28 63 6f/2f 35 2e 30 20 28 68 63/g' <MPFADT$var.txt >>MPFADT$new.txt"
Я играл с awk и sed, но безрезультатно. Я также рассмотрел примеры perl.
Я уверен, что я могу избавиться от смещения, но это требует слияния, который нарушает форматирование ...
awk -F' ' ' {print " "$2 > file} MPFADT$var.txt
Обратите внимание на [edit-help] (http://stackoverflow.com/editing-help). – Cyrus
Был ли мой ответ или какие-либо другие проблемы решить вашу проблему? Если да, пожалуйста, подумайте о том, чтобы принять его как ваш ответ - нажав полый зеленый галочку/галочку рядом с подсчетом голосов. Если нет, скажите, пожалуйста, что не сработало, чтобы я или кто-то еще помог вам дальше. Благодарю. –