Perché l'utilità 'trova' di osx richiede un percorso?


0

Su Linux, il findcomando predefinito ((GNU findutils) 4.4.2 sul mio sistema) ha un parametro opzionale path, che per impostazione predefinita è la directory corrente (il caso comune). Dalla pagina man:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

Su OSX, find non ha un parametro di percorso opzionale:

usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
       find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]

Lo trovo abbastanza fastidioso. Qualcuno ha risolto questo problema con una funzione alias / shell di comando intelligente, o forse installando una versione diversa di find?


2
Questo è completamente OT per SO, ma storicamente ha findsempre richiesto un percorso - è diventato facoltativo in Linux ma non è affatto standard. In genere si digita semplicemente .il percorso durante la ricerca dalla directory corrente, ad es find . -name foo.txt.
Paul R,

@PaulR mi dispiace, non ero sicuro se questo sarebbe OT o no. Ho trovato alcune altre domande sull'utilizzo della riga di comando. Forse erano vecchi, prima che salissero altri domini di scambio di stack. Dove sarebbe appartenuto?
michalmocny,

Risposte:


1

OS X utilizza BSD find, che storicamente ha richiesto un percorso. Puoi installare i GNU findutils tramite MacPorts o simili.


O crea un semplice script di shell ...
weberc2,

Perché uno script shell quando una funzione farà?
Ignacio Vazquez-Abrams,

1
brew install findutils ha installato gfind che potrei alias. Grazie!
michalmocny,

@ IgnacioVazquez-Abrams perché non richiede l'installazione di MacPorts o qualcosa di simile.
weberc2,

Non è necessario installare nulla per avere funzioni; fanno parte di bash.
Ignacio Vazquez-Abrams,
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.