Get some basic syntax here https://learnxinyminutes.com/docs/clojure/
Do not write directly on CLI, fire up $EDITOR by pressing Ctrl X Ctrl E (or V if you use vi binding)
https://github.com/borkdude/babashka
$ ps xau | sort -nrk6 | head -n3
gdm 1860 0.0 1.3 3925072 109088 tty1 Sl+ Thg 509 6:00 /usr/bin/gnome-shell
hvn 4628 0.1 0.4 837500 39272 ? Ssl Thg 522 3:11 /usr/lib/gnome-terminal/gnome-terminal-server
hvn 3091 0.3 0.4 438700 36184 tty2 Sl+ Thg 522 10:48 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
tr -s ' '
is needed here as detecting "column" could be tricky.
Use ps -o cpu,rss,cmd ...
does not really match normal workflow when you
crafting a pipeline base on output of former cmd, not rewrite it.
$ ps xau | tr -s ' ' \
| bb -i '(->> *input*
(drop 1)
(sort-by #(Integer/parseInt (nth (str/split % #" ") 5)) > )
(take 3)
(str/join "\n")
(println))'
gdm 1860 0.0 1.3 3925072 109096 tty1 Sl+ Thg 509 6:00 /usr/bin/gnome-shell
hvn 4628 0.1 0.4 837500 39260 ? Ssl Thg 522 3:10 /usr/lib/gnome-terminal/gnome-terminal-server
hvn 3091 0.3 0.4 438564 35884 tty2 Sl+ Thg 522 10:48 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
$ cat data.txt | sort | uniq -c | sort -nr
3 pikachu
2 raichu
2 mewth
$ cat data.txt | bb -i '(->> *input*
(group-by (fn [x] x))
(map (fn [[k v]] (format "%s %s" (count v) k)))
(sort #(compare %2 %1))
(str/join "\n")
(println) )'
3 pikachu
2 raichu
2 mewth
$ find /usr/local/nim-1.2.0/lib/pure/ -type f -path '*.nim' \
| while read line; do basename $line | sed 's/.nim$//g'; done | sort | xargs
algorithm async asyncdispatch asyncfile asyncftpclient asyncfutures asynchttpserver asyncmacro asyncnet asyncstreams atomics base64 bitops browsers cgi chains colors complex cookies coro cpuinfo cpuload critbits cstrutils db_common deques distros dynlib encodings endians fenv future hashcommon hashes heapqueue htmlgen htmlparser httpclient httpcore intsets ioselectors_epoll ioselectors_kqueue ioselectors_poll ioselectors_select json lenientops lexbase lists logging marshal math md5 memfiles mersenne mimetypes nativesockets net nimprof nimtracker oids options os osenv oserr osproc osseps oswalkdir parsecfg parsecsv parsejson parseopt parsesql parseutils parsexml pathnorm pegs punycode random rationals reservedmem ropes rtarrays segfaults selectors sequtils setimpl sets sharedlist sharedtables smtp ssl_certs stats streams strformat strmisc strscans strtabs strutils sugar tableimpl tables terminal threadpool times typetraits unicode unicode_ranges unidecode unittest uri volatile xmlparser xmltree
$ find /usr/local/nim-1.2.0/lib/pure/ -type f -path '*.nim' \
| bb -i '(->> *input*
(map #(last (str/split % #"/")))
(map (fn [x] (subs x 0 (- (.length x) 4))))
(sort)
(str/join " ")
(println) )'
algorithm async asyncdispatch asyncfile asyncftpclient asyncfutures asynchttpserver asyncmacro asyncnet asyncstreams atomics base64 bitops browsers cgi chains colors complex cookies coro cpuinfo cpuload critbits cstrutils db_common deques distros dynlib encodings endians fenv future hashcommon hashes heapqueue htmlgen htmlparser httpclient httpcore intsets ioselectors_epoll ioselectors_kqueue ioselectors_poll ioselectors_select json lenientops lexbase lists logging marshal math md5 memfiles mersenne mimetypes nativesockets net nimprof nimtracker oids options os osenv oserr osproc osseps oswalkdir parsecfg parsecsv parsejson parseopt parsesql parseutils parsexml pathnorm pegs punycode random rationals reservedmem ropes rtarrays segfaults selectors sequtils setimpl sets sharedlist sharedtables smtp ssl_certs stats streams strformat strmisc strscans strtabs strutils sugar tableimpl tables terminal threadpool times typetraits unicode unicode_ranges unidecode unittest uri volatile xmlparser xmltree
#TODO: why use .[:10] to avoid usage of head not work
$ curl -sL https://api.github.com/repos/awesome-jobs/vietnam/issues | jq '.[] | .created_at + ". " + .title + " " + .html_url' | head
"2020-05-21T15:50:14Z. LINE Vietnam - Frontend Engineer - Saigon - FT https://github.com/awesome-jobs/vietnam/issues/1990"
"2020-05-21T15:41:02Z. LINE Vietnam - Backend Engineer - Saigon - FT https://github.com/awesome-jobs/vietnam/issues/1989"
"2020-05-19T15:52:00Z. NAB VDC - Technical Architect (Nodejs/Reactjs)- Saigon - FT https://github.com/awesome-jobs/vietnam/issues/1988"
"2020-05-19T09:58:34Z. NAB VDC - Senior Front End Reactjs Engineer - Saigon - FT https://github.com/awesome-jobs/vietnam/issues/1987"
"2020-05-19T05:54:39Z. Yojee - DevOps Engineer - Saigon, District 4 - FT https://github.com/awesome-jobs/vietnam/issues/1986"
"2020-05-19T04:42:51Z. FPT Telecom - Fullstack Engineer - District 7, HCMC - FT https://github.com/awesome-jobs/vietnam/issues/1985"
"2020-05-19T03:01:07Z. FPT Telecom - Sr/Jr/Fr/Big Data Engineer (Scala, Hadoop Ecosystem) - District 7, HCMC - FT https://github.com/awesome-jobs/vietnam/issues/1984"
"2020-05-15T04:02:59Z. DongA - Python Developer - Saigon, District 10 - FT https://github.com/awesome-jobs/vietnam/issues/1983"
"2020-05-15T03:53:20Z. [LARION] - [IT Business Analyst] - [Saigon] - [FT] https://github.com/awesome-jobs/vietnam/issues/1982"
"2020-05-15T03:53:14Z. [LARION] - [Senior NodeJS Developer] - [Saigon] - [FT] https://github.com/awesome-jobs/vietnam/issues/1981"
$ curl -sL https://api.github.com/repos/awesome-jobs/vietnam/issues \
| bb -i '(->> *input*
(str/join "\n")
(json/parse-string)
(map #(apply format "%s. %s - %s" (vals (select-keys % ["created_at", "title", "html_url"]))))
(take 10)
(str/join "\n")
(println) )'
2020-05-21T15:50:14Z. LINE Vietnam - Frontend Engineer - Saigon - FT - https://github.com/awesome-jobs/vietnam/issues/1990
2020-05-21T15:41:02Z. LINE Vietnam - Backend Engineer - Saigon - FT - https://github.com/awesome-jobs/vietnam/issues/1989
2020-05-19T15:52:00Z. NAB VDC - Technical Architect (Nodejs/Reactjs)- Saigon - FT - https://github.com/awesome-jobs/vietnam/issues/1988
2020-05-19T09:58:34Z. NAB VDC - Senior Front End Reactjs Engineer - Saigon - FT - https://github.com/awesome-jobs/vietnam/issues/1987
2020-05-19T05:54:39Z. Yojee - DevOps Engineer - Saigon, District 4 - FT - https://github.com/awesome-jobs/vietnam/issues/1986
2020-05-19T04:42:51Z. FPT Telecom - Fullstack Engineer - District 7, HCMC - FT - https://github.com/awesome-jobs/vietnam/issues/1985
2020-05-19T03:01:07Z. FPT Telecom - Sr/Jr/Fr/Big Data Engineer (Scala, Hadoop Ecosystem) - District 7, HCMC - FT - https://github.com/awesome-jobs/vietnam/issues/1984
2020-05-15T04:02:59Z. DongA - Python Developer - Saigon, District 10 - FT - https://github.com/awesome-jobs/vietnam/issues/1983
2020-05-15T03:53:20Z. [LARION] - [IT Business Analyst] - [Saigon] - [FT] - https://github.com/awesome-jobs/vietnam/issues/1982