Как я могу соответствовать символу разрыва страницы в регулярном выражении?

Решение Sed

$ sed -e ':a;N;$!ba;s/\(.\)\n/\1 /g' -e 's/\n/\n\n/' test.text

Отметьте, это в этом решении :a создает маркировку и использует a команда.

Замена нескольких пробелов

Использовать tr: $ tr -s ' ' <test.text

7
27.11.2011, 01:10
1 ответ

Это, кажется, старый добрый символ перевода страницы, описанный в man ascii как:

Oct   Dec   Hex   Char
------------------------------------------
014   12    0C    FF  '\f' (form feed)

(Не упомянутый там, но ^Lкод является теми же 12.)

Затем в bash любой из них должен работать:

grep -v $'^\f' file

grep -v $'^\cL' file

grep -v $'\x0C' file
11
27.01.2020, 20:16
  • 1
    Это объясняет почему ^L работы для чистки экрана. Например, когда Вы находитесь на консоли, редактируя файл, и системный журнал массово рассылает консоль.Спасибо. –  Tim Kennedy 26.11.2011, 21:39
  • 2
    в случае, если кто-либо еще читает это для обнаружения, kwrite регулярные выражения, принимает, что \f представляет этот символьный –  ixtmixilix 17.02.2012, 14:16

Теги

Похожие вопросы