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?!?

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
$ 

Muito obrigado. mdfind -onlyin ~ / Desktop / "Shows que assisto" Bob \ Burgers funciona conforme o esperado.
DrunkTankGunner
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.