Как печатать из второй строки после совпадения?

Возможное решение - добавить шрифт Emoji следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="family" mode="prepend_first">
      <string>Emoji One Color</string>
    </edit>    
  </match>
</fontconfig>

Шрифт Emoji будет использоваться для смайликов, даже если основной шрифт имеет глифы для смайликов.

0
27.04.2019, 10:43
3 ответа

Вawk:

$ awk '/name of section/ { line = FNR + 2 } line != 0 && FNR >= line { print $1 }' file
      72.01043451
      64.76001571

Здесь мы обнаруживаем шаблон и устанавливаем переменную lineна строку, которую мы хотим напечатать, из(FNR + 2означает «эта строка плюс два» ). Если мы достигли указанной строки, мы печатаем.

1
28.01.2020, 02:22

Если я правильно понял ваше намерение,

/  name of section/ { c=FNR;}
(FNR-c>=2 && c>0) {print $1} 

Если шаблон совпал, cустанавливается на номер текущей строки, затем, если FNRбольше или равно c+2, что является второй строкой после строки, в которой шаблон совпал, напечатайте первое поле. Без инициализации cравно нулю, поэтому мы хотим избежать печати второй строки всего файла и поэтому добавляем дополнительное условие && c>0.

1
28.01.2020, 02:22

Проверено, работает нормально

awk '/name of section/{x=NR+3}(NR<=x){print}' l.txt | awk 'NR>2{print $1}' filename
72.01043451
64.76001571
1
28.01.2020, 02:22

Теги

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