Мы все еще можем только догадываться, как обращаться со знаками препинания, поэтому такие случаи, как open, close
, где есть два слова, но они семантически разделены… не включены (замены не происходит! ).
Пока для меня следующие работы:
$ cat test.txt
open
open door
open blue door
can you open door
the door is open
$ sed -E 's/\<open([[:space:]]+[[:alnum:]]+)/x\1/g;s/\<open[[:space:]]*$/l/g' test.txt
l
x door
x blue door
can you x door
the door is l