awk (assumindo aqui o GNU ou busybox awk para os operadores de limite \< , \> word):
Amostra estendida file :
I am ok.
I am fine.
all good.
am I sleeping?
how's that
I am sure
about that
and think on.
For that I am now
awk '{ printf "%s%s",(NR==1? "": (!/\<am\>/? OFS:ORS)),$0 }END{ print "" }' file
-
"%s%s"- string de formato com 2 especificações. O primeiro%sdeles se para o delimitador "principal" do item em potencial:- para o primeiro registro (
NR==1), será""(string vazia) - para registros que não contêm
amword -OFS(separador de campo de saída, ou seja, espaço) - para registros contendo
amword -ORS(separador de registro de saída, ou seja, a nova linha por padrão)
- para o primeiro registro (
A saída:
I am ok.
I am fine. all good.
am I sleeping? how's that
I am sure about that and think on.
For that I am now