Come posso fare in modo che il comando grep individui determinate parole nei file specificati dai percorsi trovati dal comando locate?
locate my.cnf | grep user
(Voglio che il comando grep cerchi la parola "utente" sui file trovati per il comando locate)
Risposta accettata:
Se i risultati della tua ricerca sono sicuri di restituire percorsi senza spazi, puoi utilizzare xargs
così:
locate my.cnf | xargs grep user
Tuttavia dovresti prendere l'abitudine di proteggerti per gestire il caso in cui un percorso o un nome file potrebbe contenere uno spazio dicendo a xargs
per utilizzare null
come separatore e indicando locate
(o qualunque programma tu stia usando per restituire le stringhe) per inviarlo anche come separatore in questo modo:
locate -0 my.cnf | xargs -0 grep user
Funzionerebbe anche se il tuo percorso includeva spazi vuoti come /name with space/my.cnf
.