Замена “- от” с “этим” в начале строки

Измените символьный перевод в PuTTY к UTF-8.

1
14.11.2013, 19:16
2 ответа
  • Когда предыдущая строка имеет D в конце,
    • и когда текущая строка имеет R в конце,
      • затем первое слово (-from) должен быть заменен -this.

awk сценарий:

# if the prev. line ended with D, and the current with R, replace first word
# optionally add && $1 == "-from"
has_d && /R$/ { $1 = "-this"; }
# print the current line, pretend that d is not matched yet
{ print; has_d = 0; }
# if line ends with D, set flag
/D$/ { has_d = 1; }

Один лайнер:

awk 'has_d&&/R$/{$1="-this"}{print;has_d=0}/D$/{has_d=1}' yourfile
6
27.01.2020, 23:13
  • 1
    , доброе, обработанное как очарование:) положительная сторона –  Rana Khan 14.11.2013, 01:24
  • 2
    @RanaKhan - удостоверяются, что отметили это как принятый ответ, таким образом, другие знают, что Вашему Q ответили. –  slm♦ 14.11.2013, 02:18

В sed:

sed '/D$/{N;/R$/s/\n-from/\n-this/}' your_file

Расширенный с комментариями:

sed ' /D$/{                          # If the current line ends in D
            N;                       # Append the next line to the pattern space
            /R$/s/\n-from/\n-this/   # If you find R at end-of-line, substitute
      }' your_file
1
27.01.2020, 23:13

Теги

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