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.
 
 
go-coreutils/README.md

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