Обновить
26
ApeCoder@ApeCoder

Разработчик

6
Подписчики
Отправить сообщение
Это одна из проблем всего этого вороха технологий.

То есть надо не поддерживать обратную совместимость?


Каждый раз настоятельно рекомендуют использовать последнюю выдуманную ими фигатень. И эта фигатень кардинально отличается от предыдущей, а пишущие на старой фигатени чувствуют семя ретроградами.

То есть получается что проблемы чисто эмоционального характера — чувство себя ретроградом?


Мне кажется, что вы не очень разбираетесь в аббревиатурах:


DDE это часть WInAPI
MFC — бибиотека поверх winapi для C++


COM — объектно-компонентная технология построения приложений
ActiveX — COM объекты с поддержкой автоматической регистрации
OLE — набор COM интерефейсов для встраивания компонентов друг в друга


.NET — единственная отдельностоящая технология здесь но тесно связанная с остальными

Потому что это часть основной функции программы

Поучему?


В PowerShell


Формат в виде таблички ft формат в виде html Out-Html открыть grid view c сортировкой и фильтором — ogv.


Это все надо запихивать в ls?


и в ps?


Вот так вывести процессы в виде таблички сгруппированной по имени
ps | sort Name | ft -GroupBy Name


Вот так вывести службы сгруппированные по статусу


gsv sql | sort Status | ft -GroupBy Status


Надо учить для каждой командой свои особые флаги?

Есть специальные алгоритмы для блоковой сортировки в условиях недостатка памяти, но не помню какие

Дык это все ж друг друга не отменяет. Часть вообще на разных уровнях абстракции (COM <- ActiveX <- OLE). И все это поддерживается с момента изобретения. Какая революция?

Что такое нормально? Если взять любое X, то для него найдется момент времени T когда были только корявые прототипы, это не значит что любое X — это грустно.

Я именно это и имел ввиду

А почему он должен сойти?

А что в винде так принципиально и несовместимо поменялось со времен NT? Та же эволюция

Как-то так?


   ls | sort @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending = $False}

Он и есть язык. Из за лучшего соблюдения Unix way учить легче — sort отсуортирует что угодно по чему угодно — не надо запоминать свитчи для каждого сочетания объекта и поля

Конфиг может влиять на записанные скрипты если они переводят объекты в строки и не казывают явно как.


Согласен, что reverse бывает и другой но это концептуально опять не требует потоков данных. Они как в LINQ могут строить дерево выражений и отдавать провайдеру файловой системы, например. Без дополнительной сортировки

Почему структурированный поток — это грустно?

Это если передавать данные, а не абстрактные объекты или лямбды

собственно сортировка и управление порядком.

Сортировка и есть управление порядком


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

ls | sort --field=modification-time | reverse | print --field=name


Powershell:


ls | sort LastWriteTime -d


  • sort занимается порядком, в том числе и по убыванию
  • формат вывода определяется конфигом на основании типа объекта
  • если зхочется выбрать одно поле можно воспользоваться select или % (foreach)

Насколько я знаю, что общепавершельное сокращение. Моджно ввести первые буквы параметра пока префикс однозначно его не определит:


PS> ls -F


Get-ChildItem: Parameter cannot be processed because the parameter name 'F' is ambiguous. Possible matches include: -Filter -Force.
At line:1 char:4


  • ls -F
  • ~~
    • CategoryInfo: InvalidArgument: (:) [Get-ChildItem], ParameterBindingException
    • FullyQualifiedErrorId: AmbiguousParameter,Microsoft.PowerShell.Commands.GetChildItemCommand

PS> ls -fo


Directory: C:\Users\ApeCoder

Mode LastWriteTim


У меня нет под рукой Exchange чтобы попробовать

Если все реализовывать в виде последовательности фильтров, то на больших файловых системах, где в каталогах бывает > 10^6 файлов будет невозможно получить необходимый функционал либо он потребует неадекватного количества ресурсов.

Почему?

Там можно сократить до подстроки уникально идентифицирующий параметр


Get-ChildItem -Recurse эквивалентно ls -r

Объектные шеллы типа powershell?


Определить формат выдачи.

Отдельная команда: ls | ft — форматировать как таблица


Изменить порядок файлов. −r для списка в обратном порядке; −t для списка файлов по времени последнего изменения.

ls | sort -descending


Включить или исключить определённые файлы. −a включает в список файлы, скрытые по умолчанию; −R показывает рекурсивный список файлов в подкаталогах текущего каталога.

Тут уж сама команда ls

вы программируете в паре с кем-то

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность