This is an education project that attempts to reimplement the GNU coreutils in Go. You can find the full manual here:
https://www.gnu.org/software/coreutils/manual/coreutils.html
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.3 KiB
60 lines
2.3 KiB
# go-coreutils
|
|
|
|
This is an education project that attempts to reimplement the GNU coreutils in Go. You can find the full manual here:
|
|
|
|
https://www.gnu.org/software/coreutils/manual/coreutils.html
|
|
|
|
## Go Packages to Teach
|
|
|
|
* bufio, io -- https://pkg.go.dev/bufio@go1.25.3
|
|
* container -- heap, list, or ring
|
|
* sha512 -- https://pkg.go.dev/crypto/sha512@go1.25.3
|
|
* image -- maybe an imagemagick?
|
|
* maps -- https://pkg.go.dev/maps@go1.25.3
|
|
* net -- https://pkg.go.dev/net@go1.25.3
|
|
* os -- https://pkg.go.dev/os@go1.25.3
|
|
* path -- probably all of them use it
|
|
* regex -- https://pkg.go.dev/regexp@go1.25.3
|
|
* slices -- https://pkg.go.dev/slices@go1.25.3
|
|
* strings -- https://pkg.go.dev/strings@go1.25.3
|
|
* strconv -- https://pkg.go.dev/strconv@go1.25.3
|
|
* time -- https://pkg.go.dev/time@go1.25.3
|
|
|
|
## Every Project Must Use
|
|
|
|
* testing -- https://pkg.go.dev/testing@go1.25.3
|
|
* flag -- https://pkg.go.dev/flag
|
|
|
|
## Possible Tools
|
|
|
|
* cat -- already made
|
|
* od -- already made
|
|
* wc -- https://www.gnu.org/software/coreutils/manual/coreutils.html#wc-invocation
|
|
- io, regex
|
|
* tr - https://www.gnu.org/software/coreutils/manual/coreutils.html#tr-invocation
|
|
* date - https://www.gnu.org/software/coreutils/manual/coreutils.html#date-invocation
|
|
* numfmt -- https://www.gnu.org/software/coreutils/manual/coreutils.html#numfmt-invocation
|
|
- strconv, strings, flags
|
|
* sha2sum -- https://www.gnu.org/software/coreutils/manual/coreutils.html#sha2-utilities
|
|
- sha512, bufio, io, time
|
|
* stat, du - https://www.gnu.org/software/coreutils/manual/coreutils.html#stat-invocation
|
|
- os, stat
|
|
|
|
* head, tail, split -- https://www.gnu.org/software/coreutils/manual/coreutils.html#Output-of-parts-of-files
|
|
- os, strings, bufio
|
|
* sort, uniq, comm -- https://www.gnu.org/software/coreutils/manual/coreutils.html#uniq-invocation
|
|
- maps, slices
|
|
* cut -- https://www.gnu.org/software/coreutils/manual/coreutils.html#join-invocation
|
|
- bufio, strings, slices, maybe maps
|
|
* nohup -- https://www.gnu.org/software/coreutils/manual/coreutils.html#nohup-invocation
|
|
- os, bufio, io
|
|
* ls - https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation
|
|
- path, root.fs, regex
|
|
|
|
|
|
* curl vs wget -- https://curl.se/
|
|
-- net/http, bufio, path
|
|
* grep -- https://www.gnu.org/software/grep/manual/
|
|
-- os, regex, strings, slices
|
|
* find -- https://www.gnu.org/software/findutils/manual/html_mono/find.html
|
|
- path, regex, os
|
|
|