Я не могу понять, как sed читает следующую строку.
Он - мое понимание, и, пожалуйста, поправьте меня, где я ошибаюсь
/pattern/p
, так что это читает построчно ипечатает, если строка соответствует
N;/pattern/d
, поэтому это читает две строки вместе, и если шаблон существует, то удаляет обе, и в следующем цикле sed начинает чтение со строки 2 или строки 3, и строка уже была прочитана N?
:a N; /pattern/{:b;n;/pattern/bb; ba}
Теперь в вышеприведенном случае внутренний цикл.n прочитайте следующую строку несколько раз, а затем вернитесь к.Теперь мой вопрос: когда управление вернется к тому, что будет читать N
пример
Это пример файла
line 11
line 13
line 13
line 13
line 14
line 15
line 16
Первоначально N будет содержать.line 11 \n line 13
если шаблон равен 13
, то во внутреннем цикле n
снова читает следующую строку и возвращается, пока 13 не будет, а затем вернитесь к a
Теперь мои вопросы: что будетзначение N
?это будет
line 14 \n line line 15
.или line 14 \n line 13