mdfind e o apóstrofo

0

No terminal, se eu digitar

mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob"

Eu recebo a saída

/ Usuários / brendans / Desktop / Shows que eu assisto / Bob's Burgers

Como eu esperaria. Mas se eu tentar

mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob's Burgers"

Eu não recebo nada. Eu tentei várias teclas de escape diferentes para o apóstrofo, mas todas elas não retornam nada.

Aqui está uma lista de tudo que eu tentei:

mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob\'s Burgers"
mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob\''s Burgers"
mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob''s Burgers"
mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob\\'s Burgers"
mdfind -onlyin ~/"Desktop/Shows I Watch" "'Bob'\\''s Burgers'"

O que estou perdendo aqui?!?

DrunkTankGunner
fonte

Respostas:

1

Você precisa escapar do apóstrofo único com uma única barra invertida e não citar o nome do programa se ele tiver um apóstrofo, apenas escape de todos os espaços com uma única barra invertida, como nos exemplos abaixo:

$ mdfind -onlyin ~/Desktop/"Shows I Watch" Bob\'s\ Burgers
/Users/name/Desktop/Shows I Watch/Bob's Burgers
$ mdfind -onlyin ~/Desktop/Shows\ I\ Watch Bob\'s\ Burgers
/Users/name/Desktop/Shows I Watch/Bob's Burgers
$ 

Na verdade, ele deve funcionar com o nome do programa entre aspas, como no primeiro exemplo que você tem em "Aqui está uma lista de tudo o que eu tentei:", funcionou no meu sistema.

$ mdfind -onlyin ~/"Desktop/Shows I Watch" "Bob\'s Burgers"
/Users/name/Desktop/Shows I Watch/Bob's Burgers
$ 
user3439894
fonte
Muito obrigado. mdfind -onlyin ~ / Desktop / "Shows que assisto" Bob \ Burgers funciona conforme o esperado.
DrunkTankGunner