Esse é o equivalente do sinal m nos operadores perl regexp ou usando (?m) em regexps perl ou PCREs (embora gsed ' M flag também remova o s perl flag, como sem M , sed . corresponde à nova linha, enquanto com perl , você precisa da s sinalizador para . para corresponder à nova linha).
Esses sinalizadores só entram em ação quando o espaço de padrão contém mais de uma linha, como quando usamos -z (para ler registros delimitados por NUL) ou ao adicionar linhas ao espaço de padrão com comandos como G , N ou s .
$ seq 3 | sed 'N;s/$/<foo>/g'
1
2<foo>
3
$ seq 3 | sed 'N;s/$/<foo>/Mg'
1<foo>
2<foo>
3
Após N , o espaço padrão contém 1<newline>2 . Sem M , $ corresponde apenas no final do espaço padrão, (após 2 ); com M , $ corresponde a ambos no final da primeira linha desse espaço padrão (depois de 1 , mas antes da nova linha), e no final o espaço padrão, (depois de 2 ).