- Corresponder uma linha que tenha apenas RealName: e espaços, anexe a linha Próximo ao espaço de padrão.
- remova o nome real e a nova linha.
- O que resta, deve ser < name >
Como a ordem dos comandos é importante, o próximo comando de linhas de seleção que corresponde a qualquer coisa ( (.*)
) em uma linha que começa com RealName: terá "algo interessante" após a regex correspondente.
- Corresponda todas as outras linhas que começam com RealName: e faça o mesmo sem novas linhas
- excluir linhas vazias.
sed -E -e '
/^RealName:\s*$/{ N; s/RealName:.*\n// };
/^RealName:(.*)/{ s/// };
/^$/d
' ~/tmp/RealName
Se o comando substituto não tiver nada no campo de correspondência, o padrão é o regex do comando das linhas de seleção anteriores.
/hello world/{ s//bye mars/ }
<=>
/hello world/{ s/hello world/bye mars/ }