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
может поддержать это, но это не будет переносимым.