2012-09-27 4 views
1

Я использую ред редактор строки Unix и книги я читаю говорят тип 1, $ р (также работает в VIM)

после суда и ошибка Я понял, что первое значение означает номер строки, но зачем нужна $ p? из того, что я могу сказать, это 1 идет к началу строки, а $ p переходит в EOF и отображает мне все, что он взял. это правда или я в пути?

ответ

3

1,$ часть - это диапазон. Запятая отделяет начало и конец диапазона. В этом случае 1 (строка 1) является началом, а $ (EOF) - это конец. p означает печать, которая является командой, которой задан диапазон, и да .. он отображает вам то, что находится в этом диапазоне.

В vim вы можете посмотреть :help :range и :help :print, чтобы узнать больше о том, как это работает. Эти типы диапазонов также используются sed и другими редакторами.

Они, вероятно, использовали терминологию 1,$ в учебнике, чтобы быть явным, но учтите, что вы также можете использовать % в качестве эквивалента. Таким образом, %p также распечатает все строки в файле.

+0

спасибо за это очень четкое объяснение !, я еще нет в книге, но какие другие команды я могу поставить вместо печати? И есть ли способ очистить вывод, как команда терминала, ясно? –

+0

@SarmenB. Вот список [команд] (http://www.gnu.org/software/ed/manual/ed_manual.html#Commands). Те, у которых '(.,.)' Перед ними берут диапазон, но по умолчанию используют текущую строку. Те, у которых есть '(1, $)' перед ними, также принимают диапазон, но по умолчанию используют весь файл. – Conner

+0

Кроме того, вы можете просто использовать '! Clear' для очистки экрана. – Conner