#31
|
|||
|
|||
Re: Описание к эхам
Eugene Grosbein написал(а) к Nil A в Jan 22 20:46:48 по местному времени:
28 янв. 2022, пятница, в 21:37 NOVT, Nil A написал(а): NA> Видишь, если ты делаешь на скриптах, то у тебя образуется много врЕменных NA> файлов, где ты хранишь промежуточные результаты вычислений. Во-первых, в этом нет ничего плохого, а для долго работающих задач с крупными файлами это даже хорошо, так как позволяет прерывать работу и продолжать её с прерванного места, даже после ребута, а не начинать всё с начала. Во вторых, временные файлы совершенно необязательны, в шелле ты не ограничен количеством одновременно обрабатываемых потоков, пока памяти хватает. Например, у меня есть скрипт с кодом такого вида: # Создаём список из некоторых снапшотов файловой системы # и вычисляем место, занимаемое ими суммарно makelist() { local sum sum=0 for ... do ... sum=$(($sum + ...)) echo ... done # передаём вычисленную сумму из сабшелла родительскому echo $sum >&3 } ... # Создаём FIFO для сабшелла и открываем его как третий поток fifo=/var/run/$(basename $0).fifo rm -f $fifo && mkfifo $fifo && exec 3<>$fifo || exit 1 trap "rm -f $fifo" EXIT # удалить поток при аварийном или нормальном завершении # Создаём и сортируем список makelist | sort -rn -k 1,1 | { read total <&3 # принимаем сумму от сабшелла через FIFO ... } Языковые возможности шелла достаточно богаты, не надо бояться их использовать. Eugene -- И у священных источников живут алчные монахи. (Дхарма) --- slrn/1.0.3 (FreeBSD) |
#32
|
|||
|
|||
Описание к эхам
Dmitriy Orlov написал(а) к Eugene Grosbein в Feb 22 19:40:13 по местному времени:
Нello Eugene! 30 Jan 22, Eugene Grosbein wrote to Dmitriy Orlov: EG> sort -uk1 EG> Комада sort умеет сортировать данные, используя в качестве ключа EG> не всю строку, заданный набор столбцов. Кроме того, она умеет EG> удалять из выдачи строки с повторяющимся значением ключа. Спасибо! Задача частично облегчилась, но все же она обрабатывает строку целиком. Вот файл до обработки sort -uk1: === Cut === FAR.SUPPORT Oбщение пользователей файл-менеджеpа FAR FAR.SUPPORT Oбщение пользователей файл-менеджеpа FAR FAR.SUPPORT Поддеpжка фаpы === Cut === Вот после: === Cut === FAR.SUPPORT Oбщение пользователей файл-менеджеpа FAR FAR.SUPPORT Поддеpжка фаpы === Cut === В общем то прикольно получилось, наверно можно даже сказать "это не баг, а фича" т.к. на некоторые эхи есть несколько вариантов описаний :) Файл сейчас содержит 6216 строк, могу закинуть куда-нить в фэху или можете фрекнуть FIDONET.NA. Сейчас это конечно больше черновик, но я с занимаюсь почти каждый день, наверное скоро будет лучше! Bye, Dmitry. --- GoldED/2 3.00.Beta5 UNREG |
#33
|
|||
|
|||
Re: Описание к эхам
Eugene Grosbein написал(а) к Dmitriy Orlov в Feb 22 01:12:17 по местному времени:
06 февр. 2022, воскресенье, в 19:40 NOVT, Dmitriy Orlov написал(а): EG>> sort -uk1 EG>> Комада sort умеет сортировать данные, используя в качестве ключа EG>> не всю строку, заданный набор столбцов. Кроме того, она умеет EG>> удалять из выдачи строки с повторяющимся значением ключа. DO> Спасибо! Задача частично облегчилась, но все же она обрабатывает строку DO> целиком. Пардон, более правильно так: sort -uk 1,1 filename Eugene -- Устав от радостных пиров, Не зная страхов и желаний --- slrn/1.0.3 (FreeBSD) |
#34
|
|||
|
|||
Описание к эхам
Dmitriy Orlov написал(а) к Eugene Grosbein в Feb 22 01:59:48 по местному времени:
Нello Eugene! 07 Feb 22, Eugene Grosbein wrote to Dmitriy Orlov: EG>>> sort -uk1 EG>>> Комада sort умеет сортировать данные, используя в качестве ключа EG>>> не всю строку, заданный набор столбцов. Кроме того, она умеет EG>>> удалять из выдачи строки с повторяющимся значением ключа. DO>> Спасибо! Задача частично облегчилась, но все же она обрабатывает DO>> строку целиком. EG> Пардон, более правильно так: sort -uk 1,1 filename Спасибо! Попробую :) Bye, Dmitry. --- GoldED/2 3.00.Beta5 UNREG |
#35
|
|||
|
|||
Описание к эхам
Dmitriy Orlov написал(а) к Eugene Grosbein в Feb 22 19:40:13 по местному времени:
Нello Eugene! 30 Jan 22, Eugene Grosbein wrote to Dmitriy Orlov: EG> sort -uk1 EG> Комада sort умеет сортировать данные, используя в качестве ключа EG> не всю строку, заданный набор столбцов. Кроме того, она умеет EG> удалять из выдачи строки с повторяющимся значением ключа. Спасибо! Задача частично облегчилась, но все же она обрабатывает строку целиком. Вот файл до обработки sort -uk1: === Cut === FAR.SUPPORT Oбщение пользователей файл-менеджеpа FAR FAR.SUPPORT Oбщение пользователей файл-менеджеpа FAR FAR.SUPPORT Поддеpжка фаpы === Cut === Вот после: === Cut === FAR.SUPPORT Oбщение пользователей файл-менеджеpа FAR FAR.SUPPORT Поддеpжка фаpы === Cut === В общем то прикольно получилось, наверно можно даже сказать "это не баг, а фича" т.к. на некоторые эхи есть несколько вариантов описаний :) Файл сейчас содержит 6216 строк, могу закинуть куда-нить в фэху или можете фрекнуть FIDONET.NA. Сейчас это конечно больше черновик, но я с занимаюсь почти каждый день, наверное скоро будет лучше! Bye, Dmitry. --- GoldED/2 3.00.Beta5 UNREG |