Здравствуйте, netch80, Вы писали:
N>>>На конвейер подобного рода есть библиотеки
S>>Вы их не привели. И в любом случае, то что в powershell делается элементарно и на уровне базового синтаксиса от питона требует изучения библиотек
N>Всё где-то делается элементарно, если средство под это заточено. Но зачем затачивать?
Потому что это shell-скрипт, в котором (особенно в линуксе) постоянно делаются вызовы внешних программ и приём/передача им данных.
N>>>но ты учти, что sort по любому должен всосать весь вывод. Или пример плохой, надо было вместо sort какой-нибудь cut вызвать.
S>>Какая разница "надо или не надо" всосать всё? Вы дополнительно делайте пару локальных копий данных, которые могут быть очень немаленькими.
N>Сколько пишу на питоне, не было необходимости даже в сложных случаях строить какие-то конвейеры с подобными промежуточными цепочками.
Именно потому что пишите на питоне — язык совершенно не подходит для подобных задач.
N>Даже в случае шелла эти варианты крайне редки и как правило возникают от того, что в нём слабы инструменты предварительной выборки.
N>Может, у вас какие-то ну очень специфические задачи, расскажите их. Но пока что кажется, что всё это из серии "когда в руках молоток,
N>всё вокруг кажется гвоздями" — когда вы хвалитесь возможностью конвейеров в обычном шелле или PS, всё стараетесь загнать на них.
Я не "хвалюсь возможностью", я показываю почему питон убог для скриптов. А вы говорите "мне не нужно — значит никому не нужно". Да и вообще, говорить что конвейер не нужен в линукс-скриптах (которые на эти конвееры полагаются при любом удобном случае), это настолько альтернативная логика... хм... да, пожалуй именно так вы и должны были сказать.
N>>>И зачем он тогда нужен — только как специфически подвинутый bash? Я лучше таки тогда собственно bash применю.
S>>Смешно, учитывая что для маломальски сложного скрипта зачастую рекомендуют выкинуть баш и взять питон. Вот именно для этого и нужен powershell — как удобный инструмент именно для shell-скриптинга.
N>Так он не даёт ничего принципиально вкусного по сравнению с большинством шеллов, включая bash. (На всякий случай: в контексте Unix, разумеется. Винда меня в данной теме не интересует аж никак.)
Поддержка объектов и их конвееризации, логичная структура, автоматическая поддержка автодополнения для пользовательских скриптов, встроенные инструменты для работы с текстом, наличие .net core под боком — всё это безусловно мелочь, не стоящая внимение, ведь есть же баш, который... что-то вроде может, хотя его настоятельно не рекомендуют использовать для чего-то более-менее сложного.
N>>>Да. Ну если документировано, то не совсем хаки? Хотя при отношении MS к командной строке (в родном интерфейсе это не массив, а одна строка) не удивляюсь.
S>>Не хак, наверно, но я не понимаю зачем такое может понадобиться в принципе.
N>Передача частично переработанного списка аргументов следующей программе на обработку.
С точным сохранением исходного формата? Можно пример такого чуда, потому что я сходу не припомню даже линуксовых утилит, которые бы подобное требовали или хотя бы поддерживали.
N>>>Ну вот я и погуглил. Есть рассказы, как его ставить под десяток линуксовых дистрибутивов, но ни одного, где бы пояснялось, нафига он там вообще нужен — как сделать какие-нибудь стандартные фокусы типа "вывести самый наевший процессора тред из текущих в системе", "какой юзер захватил порт N", "сколько у нас активных контейнеров со своими именами и cgroups" и т.п.
S>>За тем же, для чего и питон — для создания скриптов сложнее чем "scp bla-bla-bla root@host:".
N>Так всё-таки какой-то осмысленный пример будет?
N>Или опять `ls -l`? Так для него и внешняя программа нафиг не нужна, а свои итераторы не собирают все записи сразу.
"Нинужно" (С) (tm), всемирная история линуксоидов.
N>Я не стал это упоминать в прошлый раз, посмотрел, сообразите вы сами или нет. Но нет, у вас по-прежнему с одной стороны powershell, с другой ls -l.
Я понимаю что вам очень хочется доказать свою точку зрения, но я не хотел совесем уж вгонять вас в коллапс упоминая "Get-ChildItem", хотелось именно показать взаимодействие с нативным софтом.
N>>>Нет хаков под несуществующие проблемы => нет проблем, созданных этими хаками.
S>>И это не "упрощение", это перенос проблем на сторону пользователя.
N>Какие-то доказательства факта проблем будут, или как обычно? Слом привычек привыкших к винде не предлагать.
Вы сначала докажите нужность для пользователя возможности создать "Документ.docx" и "документ.docx" одновременно, а потом уже что-то требуете. А то вы удобно устроились — все вопросы о нужности этого пользователю игнорируете, но сами постоянно что-то требуете.
S>>>>Можно примеры случаев, когда проблемы от CI в файловой системе не были бы вызваны плохой архитектурой приложения? Потому что файловая система не предназначена для хранения произвольных данных в именах файлов, а вы, насколько я понимаю, защищаете именно возможность не сохранить именованые данные, а сохранить данные в имени.
N>>>Это именно что вопрос именования (не каламбур). Нет необоснованных ограничений => нет неожиданных конфликтов.
S>>"Обоснованные ограничения" есть в свои в сотнях файловых систем, и далеко не все касаются регистра файлов (ограничения на длинну имени, на спецсимволы, глубину каталогов), поэтому использовать имена файлов для хранения данных в общем случае не получится. А считать что "вот тут должно работать так, на всё остальное плевать" — изначально глупо.
N>Верно, вы продолжаете бороться с собственными глупыми домыслами по поводу моих слов. Пора пополнять попкорн 
Вы, прежде чем нажираться, всё-же ответтье на вопрос: зачем вам различать регистр в файловой системе. А то вы всё отмахиваетесь "ограничениями" и "попкорном", а ответа на вопрос так и не родили.
ARI ARI ARI... Arrivederci!