The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Представлена новая командная оболочка nushell"
Отправлено Ordu, 31-Авг-19 22:37 
>>> awk - утилита для обработки текста.
>> На каждый чих запилим по языку фильтрации. Разве нужна концепция unix, чтобы заниматься этой хнёй?
> Она именно в этом и заключается. Поэтому, например, мы имеем отдельно awk
> и sed (были бы они ещё одинаковые в bsd и linux..
> но это уже другая история).
>> Не нужен find со встроенным sql -- это не unix-way.
> Нет, это не так. Синтаксис тут вообще вторичен. Парсер SQL сложнее, синтаксис
> многословнее, а бОльшая гибкость в задачах find будет почти никогда не
> нужна.

Но когда она будет нужна, я не смогу использовать find с sql. Мне придётся выёживаться мухой на стекле, чтобы получить csv, который затем можно будет затолкать в sqlite, чтобы затем сделать оттуда выборку.

> Но find принимающий на вход текущие аргументы или find, принимающий
> на вход sql будут "юниксвейны" в одинаковой степени.

Мне не нужен find принимающий на вход sql. Всё что он должен принимать -- это список файлов/директорий, которые выданы ему шеллом. По-хорошему, он даже вообще не нужен, потому что это умеет ls, и рекурсивно обходить директории ls тоже умеет. Ещё du умеет обходить рекурсивно. Зачем нужен этот десяток реализаций рекурсивного обхода директорий, когда можно обойтись одним?

>> Нужен find, который на выходе выдаёт вывод, который затем можно обрабатывать универсальной утилитой с синтаксисом sql. Или с синтаксисом R. Или ещё каким.
> А зачем он нужен? Чтобы выпендриваться типа крутой архитектурой? Но она выходит
> сильно круче решаемых задач -> оверинжиниринг.

Да ладно, оверинжиниринг -- это find, в который напихали всё что нужно, всё что не нужно, и ещё немного.

> Ей богу, я могу придумать только какую-то оторваную от реальности жесть, чтобы
> sql в find был оправдан. В обычных задачах пользы от этого
> не будет.

Есть две директории, в них много одинаковых файлов, но есть разные, я хочу создать третью директорию как объединение/пересечение/дополнение/любая-другая-операция-над-множествами из этих двух. В идеале даже сделать так, чтобы из одной из первых двух была бы сделана "третья", минимальным копированием файлов, потому что она находится на тормозном внешнем носителе, а файлы довольно большие.

Попробуй сделать это find'ом, и ты быстро придёшь к выводу, что проще использовать ad hoc решения, типа всяких там интересных опций cp, которые позволяют условно копировать файлы. Если конечно в списке опций cp есть набор, позволяющий выполнить нужную тебе операцию над множествами. Или ещё проще даже забить болт, и сделать cp -r dir1/* dir2/, забив на ненужные копирования файлов. Ну будет оно 10-20-30 лишних минут копировать, и чё? Зато не надо 10 минут возиться с сочинением злой командной строки, покуривая между делом маны.

А если найденные файлы можно скормить языку, который умеет в sql, то... эмм... А нужен ли нам вообще в системе find? Нужен ли нам du? Может там ещё пяток утилит, которые можно выкинуть? И ещё можно будет опции cp прочистить, избавив его от всех этих условных копирований. Оставить только то, что часто используется, и поэтому удобно иметь аббревиатуры,

>[оверквотинг удален]
> в каком-то бинарном формате и произвольное число фронтендов, этот формат читающих?
> Если да, то это абсурд, потому что не понятно, зачем в этой
> схеме недо-find нужен вообще - можно же сразу читать данные с
> ФС, из самой программы, недо-find тут - избыточная абстракция.
>> Можно иметь несколько таких утилиток, с синтаксисами заточенными под разные случаи или вкусы.
> Можно, но не нужно.
>> И вот тогда это будет unix-way:
> Это будет оверинжиниринг.
>> я беру задачу, разбиваю  её на подзадачи, под каждую подзадачу выбираю ту утилиту, которая лучше всего на неё заточена, после чего комбинирую эти утилиты в единую командную строку и получаю результат.
> А где грань разумности?

Задача фильтрации информации -- это вещь, которая нужна везде и постоянно. Вынести её в отдельную утилиту, которая умеет _хорошо_ фильтровать: сам бог велел.

>> Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.
> Всё так. Но синтаксис не является признаком "юниксвейности".

Ой, ну давайте теперь будем жонглировать словами, играя в самую низкопошибную демагогию. Я уже третий? четвёртый? раз объясняю что я имею в виду? Не надо делать вид, что ты до сих пор не понял.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру