ed - цитирование управляющих символов?

Как я могу найти управляющие символы в Unix Ed(1)?

Например

ed somefile.log <<EOF
1,$s/.*\015//
w
q
EOF

не работает Ни один не делает. Очевидно, что sed(1), awk(1) и другие редакторы могут сделать это, однако у ed есть очень полезная команда line move (m), которая мне нужна в используемом мной скрипте bash.

Я могу выполнить то, что хочу в скрипте, введя управляющий символ напрямую (экранируя его с помощью Cv в vi, Cq в emacs, например), но это означает, что двоичные символы должны присутствовать в моем текстовом сценарии, который можно распечатать.

ed Transport2SVN-W0177.log <<EOF
g/^M/s/.*^M//p
w
q
EOF

^M на самом деле символ 0x0d.

1 ответ

ed не предоставляет никакой поддержки для преобразования управляющих символов.

Вы нашли способ вставки управляющих символов прямо в скрипт (используя Ctrl-V на клавиатуре) портативна и работает.

Возможно, что конкретные реализации ed может поддержать это, но это не будет переносимым.

Другие вопросы по тегам