Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/healeycodes/tools
🛠️ Terminal tools, written from scratch.
https://github.com/healeycodes/tools
cat grep ls unix
Last synced: about 2 months ago
JSON representation
🛠️ Terminal tools, written from scratch.
- Host: GitHub
- URL: https://github.com/healeycodes/tools
- Owner: healeycodes
- Created: 2022-04-14T19:56:42.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-04-26T21:11:25.000Z (almost 3 years ago)
- Last Synced: 2024-11-30T00:12:12.645Z (2 months ago)
- Topics: cat, grep, ls, unix
- Language: Go
- Homepage: https://healeycodes.com/beating-grep-with-go
- Size: 14.3 MB
- Stars: 23
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![CI](https://github.com/healeycodes/tools/actions/workflows/ci.yml/badge.svg)](https://github.com/healeycodes/tools/actions/workflows/ci.yml)
# 🛠️ tools
> My blog post: [Beating grep with Go](https://healeycodes.com/beating-grep-with-go)
A bag of toys. A project to take ownership over the terminal tools I use every day.
## Projects
### grup (grep)
A replacement for (my usage of) `grep`. Faster than `grep`.
Options:
- `-n` show line numbers
- `-re` treat query as a regular expression
- `-w` (debug) set number of search workersQuirks:
- Recursively searches by default (similar to other `grep` replacements)
- RegExp syntax: https://github.com/google/re2/wiki/SyntaxExample:
```bash
grup -n -re ^module .
# go.mod:1 module github.com/healeycodes/toolsgrup -n "\"bufio\"" .
# utils/search.go:4 "bufio"
```### el (ls)
A replacement for (my usage of) `ls`.
Options:
- `-h` ignore entries starting with `.`
- `-d` sort by date and display metadataQuirks:
- Display dot files by default
- Sorted alphabetically (with a lowercase compare)
- Directories are put first (unless `-d` is passed)Example:
```bash
el
# utils/ .gitignore el go.mod main.go README.mdel -d utils/
# 2022-04-17 13:27 695 B listfiles_test.go
# 2022-04-17 13:18 2.1 kB listfiles.go
# 2022-04-15 13:49 0 B listfiles_test_files/
```### kat (cat)
A replacement for (my usage of) `cat`.
Example:
```bash
echo 1 | kat
# 1echo 1 >> some_file
kat some_file
# 1
```## Tests
Test all projects.
```bash
./test.sh
```## Build
Build all projects (for: windows, linux, darwin).
```bash
./build.sh
```