|
|
1 day ago | |
|---|---|---|
| cat | 1 day ago | |
| curl | 1 day ago | |
| cut | 1 day ago | |
| date | 1 week ago | |
| du | 1 week ago | |
| find | 1 day ago | |
| grep | 1 day ago | |
| head | 1 week ago | |
| ls | 1 day ago | |
| nohup | 1 day ago | |
| numfmt | 1 day ago | |
| od | 1 day ago | |
| sha512sum | 1 day ago | |
| sleeper | 6 days ago | |
| sort | 1 day ago | |
| starter | 1 week ago | |
| stat | 1 day ago | |
| tail | 1 day ago | |
| tr | 1 week ago | |
| uniq | 1 day ago | |
| wc | 1 day ago | |
| .gitignore | 3 months ago | |
| LICENSE | 3 months ago | |
| README.md | 2 weeks ago | |
| outline.txt | 2 weeks ago | |
README.md
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