Usando mdfind per valutare il contenuto del testo di un file specificato?

1

Vorrei scrivere un applescript per valutare se un determinato file contiene una stringa specificata (forse come parte di un'istruzione if ... then). Voglio invocare un comando shell usando mdfind per fare questo e sono consapevole di come limitare mdfind a trovare i file contenenti una stringa specifica solo nelle directory specificate:

mdfind -onlyin /Users/viktor/Desktop/ nintendo

Questo comando troverà tutti i file contenenti la stringa "nintendo". È possibile interrogare in qualche modo un file piuttosto che una directory? E restituisce true / false o il file stesso per indicare che la stringa si trova nel contenuto del testo del file? Mettere un nome di file dopo "-onlyin" non funziona ovviamente ...

    
posta viktor lakics 14.04.2013 - 08:58
fonte

2 risposte

1

Potresti anche usare grep:

grep -qFi nintendo file.txt && echo found

-q = quiet, -F = stringhe fisse (disabilita regex), -i = case-insensitive.

Questo ricercherebbe ricorsivamente (-r) ed elenca i nomi dei file corrispondenti (-l):

grep -rlFi nintendo ~/Notes

Puoi anche limitare mdfind a specifici attributi dei metadati , ma in realtà non aiuta in questo caso:

mdfind 'kMDItemTextContent="*nintendo*"i' -onlyin ~/Notes/
    
risposta data 14.04.2013 - 14:13
fonte
1

Prova:

set fileText to read POSIX file "/Users/John/Desktop/test.txt" as «class utf8»
fileText contains "nintendo"
    
risposta data 14.04.2013 - 12:57
fonte

Leggi altre domande sui tag