Serve aiuto per capire come funziona questo comando di ricerca

1

Sono un principiante su OS X e credo che questo comando creerà un elenco di tutti i file e le sottocartelle di cartelle specifiche

find /Volumes/Documents/ -exec stat -f "%N %Sm" {} + >~/Desktop/test.txt

Non so come capire cosa faccia realmente.

    
posta user3171796 27.03.2014 - 10:07
fonte

1 risposta

2

Il comando che hai pubblicato ha due parti

  • find /Volumes/Documents/ -exec stat -f "%N %Sm" {} +
  • >~/Desktop/test.txt

La seconda parte è più semplice da spiegare, scrive solo tutto l'output del primo in un file chiamato test.txt che è memorizzato sul desktop. Se lasci questa parte, il risultato di find verrà scritto direttamente nella finestra del Terminale.

La prima parte è il comando find effettivo. In pratica una chiamata a find ottiene due tipi di parametri

  • uno o più percorsi che fungono da punto di partenza per la ricerca ( /Volumes/Documents/ nel tuo caso)
  • una o più espressioni dette "trova comandi" che vengono applicati a tutti i file / cartelle trovati

Una versione semplice sarebbe come find /Volumes/Documents/ -print che stampa solo tutti i file / cartelle trovati.

Nel tuo esempio la parte dell'espressione è un po 'più elaborata:

  • -exec esegue un comando sui risultati di find ( stat -f "%N %Sm" in realtà)

  • stat fornisce informazioni su un file.

  • L'opzione -f per stat visualizza le informazioni utilizzando un formato specificato.

  • %N %Sm è il formato utilizzato da -f .

    • % indica una stringa di formato.

    • N significa stampare il nome del file.

    • Sm significa stampare la data modificata per il file.

  • {} + è sostituito da tutti i file trovati / i possibili in ogni chiamata a stat

Per ulteriori informazioni sulla comprensione dei comandi, consultare la pagina man per find e stat .

    
risposta data 27.03.2014 - 19:24
fonte

Leggi altre domande sui tag