Não familiarizado com o YFM
( YAML front matter
), mas conforme esta página , ele deve ser o primeira coisa no arquivo e deve assumir a forma de YAML válido definido entre linhas tracejadas triplas . Isso significa que seu arquivo sempre começará com ---
se YFM
estiver presente, então você pode executar:
sed -n '1{/^---$/!q};1,/^---$/{/^Title: \|^Place: /d};p' infile
i.e. se a primeira linha não corresponder a ---
q
uit, caso contrário, d
elete todas as linhas correspondentes a esses padrões, se ocorrerem entre a linha 1
st e a próxima linha correspondente a ---
Se o segundo marcador for ...
, apenas altere a segunda expressão sed
, mas observe que, para corresponder a um ponto literal, você terá que escapar, por exemplo. para corresponder ...
você usaria \.\.\.
ou \.\{3\}
):
sed -n '1{/^---$/!q};1,/^\.\.\.$/{/^Title: \|^Place: /d};p' infile