> Эрик РаймондТак себе авторитет, ИМХО.
> find -- это провал концепции "программа делает одну небольшую вещь, но делает её хорошо"
Позвольте полюбопытствовать, почему именно? Потому что там есть опции а-ля "--ls" или "--delete"? Если так, то имхо это придирка.
> find же запиливает свой собственный ущербный синтаксис, только потому, что авторы не нашли способа как написать маленькую программу, которая хорошо умеет только рекурсивно обходить директории, обрабатывая всякие нюансы типа ссылок, а фильтрацию оставить другим утилитам, тому же awk'у например.
> Есть sql, есть R, есть awk -- есть куча _универсальных_ вещей для фильтрации. В coreutils (findutils же вроде?) есть ряд утилит, позволяющих фильтровать поток данных. В конце-концов, в shell'е есть условные конструкции, которые позволяют фильтровать даные. Но find использует свой собственный ad hoc костыль
find делает всё правильно. awk - утилита для обработки текста. Она не знает ничего ни про права, ни про овнера/группу, ни про любое другое свойства любого объекта фс. В то же время, find только про это и знает, его возможности фильтрации по имени файла ограничены глобами, если хочется чего-то бОльшего, то нужно передавать выхлоп find через пайп хоть тому же awk.
Что касается sql и R, то лично я бы не хотел использовать подобный синтаксис в find. Это слишком многословно. Да, в теории это гибче, на практике, задачи, решаемые при помощи find крайне редко требуют что-то сложнее or|not|and и сравнения свойств объектов фс - такая гибкость просто не требуется, а она не бесплатна. Не имею ничего против приложения, которое работает как find, но вместо его аргументов принимает на вход, например, SQL запросы, но только не в базовой поставке, пожалуйста.