forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #31  
Старый 30.01.2022, 18:01
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 06.02.2022, 19:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

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  
Старый 06.02.2022, 22:42
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 07.02.2022, 03:22
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

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  
Старый 14.02.2022, 20:12
Dmitriy Orlov
Guest
 
Сообщений: n/a
По умолчанию Описание к эхам

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
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:44. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot