Come sfuggire agli spazi nei risultati di `mdfind`?


1

Vorrei trovare un file con mdfinde spostarlo in un'altra directory. Quindi ho provato come di seguito ma commette un errore causato dallo spazio nel percorso.

> mdfind somefile.numbers 
/Users/hugh/Library/Mobile Documents/com~apple~Numbers/Documents/somefile.numbers
> mv $(!!) ~/Documents/
mv: rename /Users/hugh/Library/Mobile to /Users/hugh/Documents/Mobile: No such file or directory
mv: rename Documents/com~apple~Numbers/Documents/somefile.numbers
  to /Users/hugh/Documents/somefile.numbers: No such file or directory

Quindi ho cercato di sfuggire allo spazio con printf %q, ma sfugge a tutto.

> mv $(printf %q $(mdfind somefile.numbers)) ~/Documents/
mv: rename /Users/hugh/Library/MobileDocuments/com\~apple\~Numbers/Documents/somefile.numbers 
  to /Users/hugh/Documents/somefile.numbers: No such file or directory

Ci deve essere un buon modo per gestirlo, ma non riesco a trovarne uno. Qualche idea?


Dovresti testare i risultati di mdfind prima di provare a spostare il file. Ma se vuoi vivere pericolosamente allora mv "$(mdfind somefile.numbers)" ~/Documents.
f0,

Risposte:


1

Cita la variabile:

mv "$ (!!)" ~ / Documents /

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.