Sto cercando i file in base a un'espressione regolare e quindi sto cercando di cercare tali contenuti. Quindi, per esempio, ho qualcosa del genere
#Find all C++ files that match a certain pattern and then search them
find . -name "*.cpp" | grep "<name regex>" | xargs grep "<content regex>"
Il problema in cui mi imbatto è che alcuni dei percorsi hanno degli spazi, il che confonde xargs. So che se stavo solo usando find, potrei usare l' -print0argomento (insieme -0all'argomento su xargs) per impedire agli xargs di trattare gli spazi come delimitatori. C'è qualcosa di simile con grep?
O sto affrontando questo problema in modo completamente sbagliato? Ingenuamente, findal grepdi xargs grepsenso per me, ma sono aperto ad altri approcci che producono gli stessi risultati.
xargsusando il-iparametro, a lacat sample.txt | grep "pat t ern" | xargs -i grep "{}"- le parentesi graffe gli dicono dove posizionare l'argomento. Il manuale mi dice che-iè deprecato a favore,-Iquindi forse vale la pena dare un'occhiata anche a quello.