Grep does not play well with Unicode, but it can be worked around. For example, to find,
Some Search Term
in a UTF-16 file, use a regular expression to ignore the first byte in each character,
S.o.m.e. .S.e.a.r.c.h. .T.e.r.m
Also, tell grep to treat the file as text, using '-a', the final command looks like this,
grep -a 'S.o.m.e. .S.e.a.r.c.h. .T.e.r.m' utf-16-file.txt
Used on the file below,
Some Other Search Term
Some Other Search Term
Some Other Search Term
Some Other Search Term
Some Other Search Term
Some Other Search Term
Some Search Term
Some Other Search Term
Some Other Search Term
Some Search Term
Some Other Search Term
Some Other Search Term
Some Search Term
Some Other Search Term
The result will look something like this,
grep -a "S.o.m.e. .S.e.a.r.c.h. .T.e.r.m" utf-16.txt
S o m e S e a r c h T e r m
S o m e S e a r c h T e r m
S o m e S e a r c h T e r m
The regular expression can be modified for other Unicode formats.