Gibt es ein idiomatisches Mittel, um festzustellen, ob "find" Übereinstimmungen gefunden hat? Ich benutze gerade
COUNT=`find ... | wc -l`
if [ "$COUNT" -gt 0 ]; then
aber das scheint mir ein wenig indirekt zu sein. Außerdem möchte ich, dass find aufhört zu suchen, sobald es eine Übereinstimmung gefunden hat, damit es keine Zeit und Mühe verschwendet. Ich muss nur wissen, ob Dateien vorhanden sind, die übereinstimmen.
Update: Ich habe den Fehler gemacht, meine Frage ohne den Code vor mir zu schreiben: Ich verwende wc -l
in einem anderen Fall, in dem ich die Gesamtzahl der gefundenen Dateien ohnehin kennen muss. In dem Fall, in dem ich nur prüfe, ob Übereinstimmungen vorhanden sind, habe ich verwendet if [ -z $(find …) ]
.
-n
nur für 'definierte' Variablen ($ abc, $ xyz usw.), aber ich nehme an, dass $ (...) eine 'definierte' temporäre Variable ist. +1 ... (und ich nur Lesen Sie kürzlich, dass die Verwendung von-n
riskant ist, es sei denn, Sie sind sich sicher, dass die Variable noch nicht deklariert wurde und nicht verwendet wird. uninitialized vs. empty