Se o caminho for My\x20Book
com a barra invertida, uma tentativa de grep
terá que escapar da contrabarra de grep
e de bash
, e isso pode ser feito usando barras invertidas duas vezes para cada nível:
$ echo 'My\x20Book' | grep My\\x20Book
My\x20Book
O shell reduz cada \
para \
, então grep
recebe My\x20Book
e, em seguida, o grep reduz \
para \
, para que finalmente corresponda apenas a My\x20Book
.
Para proteger do shell, você pode citar a barra invertida e eliminar o conjunto externo de barras invertidas:
$ echo 'My\x20Book' | grep 'My\x20Book'
My\x20Book
Para proteger de grep
, você pode dizer que use strings fixas e não expressões regulares e agora use apenas uma única barra invertida:
$ echo 'My\x20Book' | grep -F 'My\x20Book'
My\x20Book
A propósito, como você está usando find
, pode usar apenas a capacidade de filtragem diretamente:
$ touch 'My\x20Book'
$ find . -name 'My\x20Book'
./My\x20Book