Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° python. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Π½ΡΠ»Ρ. ΠΡΡΡ https://www.nushell.sh/ β ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ Π²ΡΡΠΊΠΈΠ΅ ΠΏΠ°ΠΉΠΏΡ ΠΈΠ· Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, ΠΊΠ°ΠΊ bash ΠΈ Π΅ΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅, Π½ΠΎ ΠΈ ΠΈΠ· ΠΎΠ±Π΅ΠΊΡΠΎΠ² JSON, ΡΠ°ΠΏΠΈΡΠ΅ΠΉ CSV ΠΈ Ρ.Π΄ ΠΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° ΠΠΈΡΠΎΠ½Π΅ Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ Nushell, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΠΈΡΠΎΠ½Π° ΠΈ ΡΡΠΈΠ»Π΅ΠΌ (ΡΡΡΡ Π²ΡΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°) ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΈΠΏΠ° ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ: ``` a = exec('curl ...') | parse_JSON | filter(lambda o: o.name.startswith(“M“)) | select(lambda o: o.age) b = exec('ls -1') | exec('sort') | exec .... | .... Ρ = .... | parse_CSV print(join(a, c, lambda o1, o2: o1.year == c.year) | to_CSV) ``` Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ β ΠΠΈΡΠΎΠ½, ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ plumbum, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ JSON ΠΈ CSV, ΠΊΠ°ΠΊ Ρ nushell ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠΊΡ, Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ plumbum ΡΡΡΡΠΎΠ΅Π½ ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ
Π½Π΅Π³ΠΎ. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎ Ρ
ΠΎΡΡ Π±Ρ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π²ΠΎΠ½ΠΈΠΌΡΡ ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.