LINUX.ORG.RU

Как зафильтровать любой символ с помощью awk?


0

0

Нужно зафильтровать любой символ (байт) внутри регекспа с помощью 'awk' или 'tr'. Символ может быть любым (печатный,непечатный,CR,LF).
Подскажите как?

Есть рабочий пример на перле:
echo "before_\033_after_\012_thend" | perl -p0777e 's/_[^_]*_/_x_/g'

P.S. tr я так понимаю не подойдёт ...

Ответ на: комментарий от dilmah

> зафильтровать это что значит
зафильтровать значит заменить на константную строку

tr, думаю, не подойдёт так как замена нужна только в рамках регекспа, а не всё подряд ...

pvv
() автор топика
Ответ на: комментарий от gr_buza

>может sed'ом??

можно и sed'ом, но я пробовал - не получилось - он разбивает входной поток на строки и применяет регексп к каждой из них - т.о. символ перевода строки нельзя зафильтровать, насколько я знаю:

bash$ echo -e "_\033_ <_\012_>" | sed -e 's/_._/_X_/g'
_X_ <_
_>

pvv
() автор топика

вот уроды, опять с rm -rf / программкой балуются :(

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.