Возврат каретки по сравнению с новой строкой в энергии

awk '{ f[$2] = $1; SUM += $1} END { for (i in f) { print f[i]/SUM, i } }' </tmp/data
7
20.09.2013, 01:14
2 ответа

Из документов энергии о шаблонах:

Соответствия \r <CR>

\n соответствует концу строки - При соответствии в строке вместо буферного текста подобран, литеральный символ новой строки.

Источник: https://stackoverflow.com/questions/71417/why-is-r-a-newline-for-vim

3
27.01.2020, 20:19
  • 1
    Argh, я вслепую copypasted исходный ответ от Переполнения стека. Ожидайте его... зафиксировал! –  Martin von Wittich 20.09.2013, 00:43
  • 2
    Да я видел этот ответ там. Не уверенный, где это указывало. Если бы Вы понимаете это, я предложил бы редактировать ТАК Q также. –  slm♦ 20.09.2013, 00:45
  • 3
    @slm я исправил и свое сообщение и сообщение на ТАК Хорошем :) –  Martin von Wittich 20.09.2013, 00:50
  • 4
    , я не мог найти это, хорошее расследование! –  slm♦ 20.09.2013, 00:52
  • 5
    Хорошо, таким образом, еда на дом для меня является энергией, является странным. Черт возьми я должен был переключиться на emacs, когда у меня был шанс. –  sandyp 20.09.2013, 21:52

Поскольку @MartinvonWittich указал, что Вы хотите использовать \r. Можно также использовать комбинацию клавиатуры:

Ctrl + v + M, который обычно дисплей get как ^M при вводе.

%s/$/^M^M/

Вот некоторая дополнительно полезная информация о vim относительно поиска и замены:

При поиске:

  • ., *, \, [, ], ^, и $ метасимволы.
  • +, ?, |, {, }, (, и ) должен быть оставлен для использования их специальной функции.
  • \/ / (используйте обратную косую черту + наклонная черта вправо для поиска наклонной черты вправо),
  • \t вкладка, \s пробел
  • \n новая строка, \r CR (возврат каретки = Ctrl-M = ^M)
  • \{#\} используется для повторения. /foo.\{2\} будет соответствовать нечто и двум после символов. \ не требуется на закрытии} так /foo.\{2} сделает то же самое.
  • \(foo\) делает обратную ссылку на нечто. Круглая скобка без Escape буквально подобрана. Здесь \ требуется для закрытия \).

При замене:

  • \r новая строка, \n пустой байт (0x00).
  • \& амперсанд (и текст, который соответствует шаблону поиска).
  • \1 вставляет текст первой обратной ссылки. \2 вставляет вторую обратную ссылку, и так далее.

Ссылки

2
27.01.2020, 20:19
  • 1
    , который Вы действительно не объясняете, почему это \r вместо \n. Я думаю, что ответ сводится к “Vim, является странным”, но может быть некоторая теперь забытая историческая причина. самопроверка –  Gilles 'SO- stop being evil' 20.09.2013, 01:17
  • 2
    @Gilles - В исследовании этой всей информации я могу найти, кажется круговым относительно почему \r a <CR>. Это просто. Но я согласился бы с Вашим комментарием, что это странно. –  slm♦ 20.09.2013, 01:54

Теги

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