Вы можете попросить X-сервер использовать только 8-битную глубину. В вашем /etc/X11/xorg.conf
файле:
Section "Screen"
Identifier "Screen0"
DefaultDepth 8
EndSection
sed -e 's/^[ ]*--More--.*\x8//' -e 's/\xD$//'
s/ */../
лично я предпочитаю s/[ ]*/../
, поскольку он делает *
видимым образом прикрепленным к атому слева, когда это пробел/TAB. GNU sed
имеет средство сопоставления шестнадцатеричных чисел с последовательностью \x
hexdigit. Самое простое решение — думать наоборот. Вместо того, чтобы пытаться определить символы, которые вам не нужны, определите те, которые вам нужны, и удалите все остальное :
.sed 's/--More--[^ a-zA-Z0-9]*//' file
Это удалит строку --More--
и 0 или более символов после нее, которые не являются пробелом, буквой или цифрой. В зависимости от ваших данных вам, возможно, придется немного настроить этот набор (, например. также разрешите _
или что вам нужно ).
Теперь первый --More--
в вашем вопросе, по-видимому, содержит символы возврата (восьмеричное 010, Hex 7, ASCII \b
), так что вы также можете просто сделать:
perl -pe 's/[\b]//g' file
Или, чтобы также удалить --More--
:
perl -pe 's/--More--[\b]+//g' file