vak: (Знайка)
[personal profile] vak
Появился шелл для Юникса в функциональном стиле: https://github.com/tomhrr/cosh

К примеру, как просуммировать размер всех файлов в текущем каталоге?

На обычном шелле:
find . -print0 | xargs -0 stat -f%z | awk '{s+=$1} END {print s}' -
На cosh:
ls; [is-dir; not] grep; [stat; size get] map; sum

Date: 2023-02-12 03:08 (UTC)
paserbyp: (Default)
From: [personal profile] paserbyp
cosh написан на RUST и мне понравился своей мощностью и читабельностью!

Date: 2023-02-12 03:56 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Пока что не совсем въехал в синтаксис, но смутно выглядит очень классной вещью. Наконец-то приличный язык. Попробую-ка я у себя (на работе).

Date: 2023-02-12 09:06 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

А, отлично! Там и doc имеется. Как тщательно сделано!

Date: 2023-02-12 06:38 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Есть же ж du -xd 1 .

Date: 2023-02-12 08:30 (UTC)
From: [personal profile] ex0_planet
Это не размер всех файлов, а место, занимаемое ими на диске.

Date: 2023-02-12 09:11 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

А что-то этот du фигню показывает.

vpatryshev@unknownea9f800aa89b docs % du -xd 1 apple
72  apple
vpatryshev@unknownea9f800aa89b docs % ls -l apple    
total 72
-rw-r--r--@ 1 vpatryshev  staff  34909 Aug 16  2021 emailreceipt_20210815R1051105773.pdf

Date: 2023-02-12 09:40 (UTC)
dmarck: (Default)
From: [personal profile] dmarck
размер его 34 с чем-то килобайта, а занимает он на диске блоков на 72 (см тж строку total в ls)

Date: 2023-02-12 09:11 (UTC)
norian: (Default)
From: [personal profile] norian
а не удобней писать

list files recursive get "size" sum

нэ ?

Date: 2023-02-12 11:10 (UTC)
prool: cat (Default)
From: [personal profile] prool
Помнится, программировал я от скуки рогалик. Но думать и проектировать мне было лень и я просто кодил что-то беспорядочно как бог на душу положит. У игрока инвентарь размером 1 предмет. И в комнате может лежать один предмет.

Поэтому команда get corpse или get money не нужна. Просто GET. А бросить предмет просто DROP. А поменять местами предмет в интвентаре и предмет в комнате SWAP. И команда дублирования предмета DUP. Ну не смог я без нее.

Потом какой-то фортоподобный язык добавил.

Потом забросил все это