Find und grep funktionieren meines Wissens nach nicht, da ich eine Liste von Dateien erstellen muss, die EINE der Anforderungen erfüllen, nicht beide. Ich nehme an, dafür ist mehr als ein Einzeiler erforderlich. Irgendwelche Vorschläge?
Antwort1
Dies ist mit dem folgenden Befehl möglich:
comm -3 <(find path -name '*string*' | sort) \
<( grep -r 'string' path | sed s=^=./= | sort)
Möglicherweise müssen Sie den sed
Teil ändern, damit die von gemeldeten Pfade kompatibel find
sind grep
. Der -3
Schalter comm
unterdrückt das Drucken der Dateien, die in beiden Listen erscheinen.