Я выполнил следующие инструкции: http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html
Он отлично работал на 10.04 , 10.10 и 11.04.
'n'
(next) If auto-print is not disabled, print the pattern space,
then, regardless, replace the pattern space with the next line of
input. If there is no more input then 'sed' exits without
processing any more commands.
Параметр -n отключает автопринт.
Вы заменили # на = в первой строке с помощью # (пространство шаблонов). Затем пространство шаблона было напечатано n, поскольку не было опции -n. Затем пространство шаблонов было заменено следующей строкой, затем мы зациклились на n, что заставило напечатать пространство шаблона, потому что автопринт не был отключен, а затем больше не было строк ввода, поэтому sed вышел. [ ! d1]
Возможно, это более понятно, если вы используете -n и добавили p в свой цикл:
$ sed -n '/#/ {s//=/; :k n;p; bk}' rgb
UPPER (#2): "RED GREEN BLUE"
после n, p принудительно печатает все, кроме первого line
$ sed -n '/#/ {s//=/; :k p;n; bk}' rgb
lower (=1): "red green blue"
UPPER (#2): "RED GREEN BLUE"
до n, p заставляет пространство шаблонов печататься каждый раз. n никогда ничего не печатает, потому что автопринт отключен.
Попробуйте удалить опцию -n с помощью команды p в разных положениях цикла.
Если вы хотите только для печати одной строки после ее изменения вы можете использовать q:
$ sed '/#/ s//=/;q' rgb
lower (=1): "red green blue"
'n'
(next) If auto-print is not disabled, print the pattern space,
then, regardless, replace the pattern space with the next line of
input. If there is no more input then 'sed' exits without
processing any more commands.
Параметр -n отключает автопринт.
Вы заменили # на = в первой строке с помощью # (пространство шаблонов). Затем пространство шаблона было напечатано n, поскольку не было опции -n. Затем пространство шаблонов было заменено следующей строкой, затем мы зациклились на n, что заставило напечатать пространство шаблона, потому что автопринт не был отключен, а затем больше не было строк ввода, поэтому sed вышел. [ ! d1]
Возможно, это более понятно, если вы используете -n и добавили p в свой цикл:
$ sed -n '/#/ {s//=/; :k n;p; bk}' rgb
UPPER (#2): "RED GREEN BLUE"
после n, p принудительно печатает все, кроме первого line
$ sed -n '/#/ {s//=/; :k p;n; bk}' rgb
lower (=1): "red green blue"
UPPER (#2): "RED GREEN BLUE"
до n, p заставляет пространство шаблонов печататься каждый раз. n никогда ничего не печатает, потому что автопринт отключен.
Попробуйте удалить опцию -n с помощью команды p в разных положениях цикла.
Если вы хотите только для печати одной строки после ее изменения вы можете использовать q:
$ sed '/#/ s//=/;q' rgb
lower (=1): "red green blue"
'n'
(next) If auto-print is not disabled, print the pattern space,
then, regardless, replace the pattern space with the next line of
input. If there is no more input then 'sed' exits without
processing any more commands.
Параметр -n отключает автопринт.
Вы заменили # на = в первой строке с помощью # (пространство шаблонов). Затем пространство шаблона было напечатано n, поскольку не было опции -n. Затем пространство шаблонов было заменено следующей строкой, затем мы зациклились на n, что заставило напечатать пространство шаблона, потому что автопринт не был отключен, а затем больше не было строк ввода, поэтому sed вышел. [ ! d1]
Возможно, это более понятно, если вы используете -n и добавили p в свой цикл:
$ sed -n '/#/ {s//=/; :k n;p; bk}' rgb
UPPER (#2): "RED GREEN BLUE"
после n, p заставляет печатать все, кроме первого line
$ sed -n '/#/ {s//=/; :k p;n; bk}' rgb
lower (=1): "red green blue"
UPPER (#2): "RED GREEN BLUE"
до n, p заставляет пространство шаблонов печататься каждый раз. n никогда ничего не печатает, потому что автопринт отключен.
Попробуйте удалить опцию -n с помощью команды p в разных положениях цикла.
Если вы хотите только для печати одной строки после ее изменения вы можете использовать q:
$ sed '/#/ s//=/;q' rgb
lower (=1): "red green blue"