Find and grep does not work afaik because I need to create a list of files that satisfy EITHER requirement, not both. I assume this requires more than a one-liner. Any suggestions?
1 Answer
It is possible with the following command:
comm -3 <(find path -name '*string*' | sort) \
<( grep -r 'string' path | sed s=^=./= | sort)
You might need to change the sed
part to make the paths reported by find
and grep
compatible. The -3
switch to comm
suppresses printing the files that appear in both the lists.
-
Nice, thanks. Unfortunately, comm is not available in my version of Busybox. I know how to run each command, but how can I filter and combine and sort the results?– cdonnerMar 4, 2014 at 18:14