Em um sistema GNU, você pode usar isto:
sed -i '/^#[[:blank:]]Person/{n;s/#root:[[:blank:]]\+marc/root:\[email protected]/;}' file
Ele procura por uma linha que comece com # Person
. Em seguida, alterna para a próxima linha e substitui #root:<blanks>marc
por root:<tab> ...
. O -i
flag edita o arquivo no local.
-i
, \+
e \t
são extensões do GNU. O equivalente padrão de \+
é o wordier \{1,\}
. Para editar o arquivo no lugar portável, você precisaria recorrer a um arquivo temporário. O equivalente padrão de \t
é inserir um caractere de tabulação literalmente.