Найти верный вариант: зачем?

10

GNU найти (и другие?) Имеет -trueиспытание наряду с нормальным -name, -mode, -userи так далее. Со страницы руководства:

Всегда верно.

Каждый раз, когда я вижу страницу справочника, я замечаю это и удивляюсь, когда это будет полезно. Итак, приведите несколько примеров, когда это полезно: ~)

markdrayton
источник

Ответы:

5

Может быть полезно для отладки, когда вы используете операторы AND или OR. Поэтому, если у вас есть длинная команда со сложной цепочкой аргументов с множеством AND / OR между операторами и чем-то, что не работает так, как вы ожидаете, вы можете заменить ее части на -true, чтобы проверить свою логику.

Тем не менее, я не уверен, почему это так, но похоже на законное использование.

Кайл Брандт
источник
1

Когда вы хотите перечислить все файлы в findформате для передачи в другую программу?

Я думаю, это должно быть более эффективным, чем использование -name "*"или что-то подобное.

Жюльен Тартарин
источник
2
findбез аргументов вообще делает это.
Приостановлено до дальнейшего уведомления.
1
Конечно, но это более явно и имеет тот же синтаксис с-true
Жюльен Тартарин
Как так?
Приостановлено до дальнейшего уведомления.
1

Посмотрим find -delete -o -true -print. Это не слишком полезно, но это указатель, который вы можете использовать -trueили -falseкак средство для переопределения результата выражения какой-либо команды с побочными эффектами.

diunko
источник